如何在 Linux 上的文件扩展名前批量添加日期
How to bulk add date before file extension on Linux
假设我有
a.txt, b.txt 我想加上日期看看:
a_MMDDYYY.txt、b_MMDDYYYY.txt
我正在尝试按以下方式使用 xargs
和 basename
:
basename -s .txt -a *.txt | xargs -n1 -i cp {}.txt {}_$date.txt
我知道我的命令结尾不正确,我只是想弄清楚如何使用它以及如何将内置 "date" 注入 xargs。
谢谢
像这样使用命令替换:
basename -s .txt -a *.txt | xargs -n1 -i cp {}.txt {}_$(date +%d-%m-%Y).txt
有关日期格式示例,请参阅此 link:https://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/
您可以在此处了解有关命令替换的更多信息:http://wiki.bash-hackers.org/syntax/expansion/cmdsubst
使用 GNU Parallel 看起来像这样:
printf '%s[=10=]' *.txt | parallel -0 cp {} {.}_$(date +%d-%m-%Y).txt
或者如果只有几个文件:
parallel -0 cp {} {.}_$(date +%d-%m-%Y).txt ::: *.txt
假设我有 a.txt, b.txt 我想加上日期看看: a_MMDDYYY.txt、b_MMDDYYYY.txt
我正在尝试按以下方式使用 xargs
和 basename
:
basename -s .txt -a *.txt | xargs -n1 -i cp {}.txt {}_$date.txt
我知道我的命令结尾不正确,我只是想弄清楚如何使用它以及如何将内置 "date" 注入 xargs。
谢谢
像这样使用命令替换:
basename -s .txt -a *.txt | xargs -n1 -i cp {}.txt {}_$(date +%d-%m-%Y).txt
有关日期格式示例,请参阅此 link:https://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/
您可以在此处了解有关命令替换的更多信息:http://wiki.bash-hackers.org/syntax/expansion/cmdsubst
使用 GNU Parallel 看起来像这样:
printf '%s[=10=]' *.txt | parallel -0 cp {} {.}_$(date +%d-%m-%Y).txt
或者如果只有几个文件:
parallel -0 cp {} {.}_$(date +%d-%m-%Y).txt ::: *.txt