我正在试图找出是否有办法将多个文件复制到文件夹并更改文件所具有的名称或模式。这是一个例子:
我有这种模式的文件:
file1_100.csv.12345
file2_100.csv.12345
我想将这些文件复制到另一个文件夹而不删除“.12345”,如下所示:
file1_100.csv
file2_100.csv
我只知道你可以这样做:
ls -l file* | awk -F. '{print $1 "." $2}'
然后你可以得到输出:
file1_100.csv
file2_100.csv
可以做类似的事情将文件复制到另一个目录吗?
答案 0 :(得分:1)
sed 's:\(regexp\):cp \1 dir_path/\1:g' | csh
如果您的文件名为: file1 file2 ... fileN ,并且您想要将它们复制到名为 / home / kuku / 的目录中,并且您想添加一个 temp 的前缀到您的所有文件 temp_file1 temp_file2 ... temp_fileN
的每个文件 # Using list of files
sed 's:\(file.*\):cp \1 home/kuku/temp_\1:g' file_list.txt| csh
#for pipe files that end with .12345
printf '%s\n' *.12345 | sed 's:\(.*\)\(.12345\):cp \1\2 home/kuku/\1\n:g' | csh
1)printf '%s\n' *12345
获取本地目录中以12345字符串
2)我们sed
打印cp file_name path/new_file_name
3)将字符串传递给csh
shell,逐行执行