如何将多个文件复制到不同的文件夹中删除每个文件上的一些字符| unix korn shell
我试图找出是否有办法将多个文件复制到一个文件夹,并更改文件的名称或模式。例如: 我有具有此模式的文件:如何将多个文件复制到不同的文件夹中删除每个文件上的一些字符| unix korn shell,shell,unix,cp,Shell,Unix,Cp,我试图找出是否有办法将多个文件复制到一个文件夹,并更改文件的名称或模式。例如: 我有具有此模式的文件: 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_
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
是否可以执行类似的操作将文件复制到另一个目录
sed 's:\(regexp\):cp \1 dir_path/\1:g' | csh
例子
如果您的文件名为:file1 file2。。。fileN并且您想要将它们复制到名为/home/kuku/的目录中,并且您想要在每个文件中添加一个前缀temp,您的所有文件都将是temp\u file1 temp\u file2。。。临时文件
# 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) ussed
打印cp文件名路径/新文件名
3) 管道字符串到
csh
shell,一行一行地执行我对OP需求有错误,OP需要复制,而不是移动。你说得对。我刚刚纠正了您的ls
解析,因为这是一种糟糕的做法,为了更好地理解,+1:)