Tim*_*Tim 13 command-line files filemanager
我有一个单一的文件(PDF),我想有很多相同的复制品在同一文件夹(200将是很好)命名的file-001
,file-002
等等。
我该怎么做?
ste*_*ver 22
你可以做类似的事情
< file tee file-{001..200}
Run Code Online (Sandbox Code Playgroud)
然而,如果介质变得不可读,则其上有多少副本并不重要——从根本上说,备份需要多样性。
请注意,tee
将其标准输入写入标准输出以及每个给定文件 - 对于大文件,或者对于包含可能干扰终端设置的二进制数据或其他特殊字符的文件,您可能希望将标准输出转储到位桶
< file > /dev/null tee file-{001..200}
Run Code Online (Sandbox Code Playgroud)
Rma*_*ano 21
这是 shell 技巧大有帮助的经典案例。
for i in {000..199}; do cp file file-$i; done
Run Code Online (Sandbox Code Playgroud)
而且我知道这是一个笑话,但是如果您想要一个随机数 _
或-
将数字与名称分开,您可以使用:
for i in {000..199}; do
cp file file$(cat /dev/urandom | tr -dc '_-' | fold -w 1 | head -n 1 )$i;
done
Run Code Online (Sandbox Code Playgroud)
(多行以提高可读性...)
:-P
要制作文件的单个副本,您可能知道可以使用cp
:
cp file file-001
Run Code Online (Sandbox Code Playgroud)
现在,要对文件进行更多重复,您可以结合cp
使用xargs
. 在你的情况下:
echo file-{001..200} | xargs -n 1 cp file
Run Code Online (Sandbox Code Playgroud)
将复制file
到file-001
, file-002
,... , file-200
。查看man xargs
更多信息。