Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将多个文件复制到不同的文件夹中删除每个文件上的一些字符| unix korn shell_Shell_Unix_Cp - Fatal编程技术网

如何将多个文件复制到不同的文件夹中删除每个文件上的一些字符| 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) us
sed
打印
cp文件名路径/新文件名


3) 管道字符串到
csh
shell,一行一行地执行

我对OP需求有错误,OP需要复制,而不是移动。你说得对。我刚刚纠正了您的
ls
解析,因为这是一种糟糕的做法,为了更好地理解,+1:)