Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有大量名称非常相似的文件:row1col1.txt、row1col2.txt、row1col3.txt、row1col4.txt……
我想将它们全部复制并更改名称为row2col1.txt,row2col2.txt,row2col3,txt,row2col4.txt......
在 shell 脚本中使用 cp 命令,我怎样才能有效地做到这一点?
你将如何生成文件名?你将如何指定替换?
一种可能性是:
ls row1col*.txt | sed 's/row1\(.*\)/cp & row2\1/' | sh -x
这用于ls生成名称列表,并为每个命名文件sed生成一个命令,并通过管道将其传输到以便进行复制操作。在您确信其余部分是正确的之前,不要运行它。cpshsh
ls
sed
cp
sh
如果你使用mcp包中包含的程序mmv,你可以这样做:
mcp
mmv
mcp row1\* row2\#1