如何在同一位置复制以“结束”结尾的文件*100000.prm“;“使用不同的名称”*完整的“prm”;在linux中?

如何在同一位置复制以“结束”结尾的文件*100000.prm“;“使用不同的名称”*完整的“prm”;在linux中?,linux,bash,terminal,Linux,Bash,Terminal,此脚本根据您的指令执行您需要的操作 例如:“xyz_100000.prm”将与名称“xyz_full.prm”一起复制到同一位置 演示: #!/bin/sh IFS=$'\n' for FILE in *1000000.prm; do new_name=$(echo "$FILE" | sed "s/1000000.prm$/full.prm/") cp "$FILE" "$new_name" done 我建议: ➜ ls a1000000.prm b1000000.p

此脚本根据您的指令执行您需要的操作


例如:“xyz_100000.prm”将与名称“xyz_full.prm”一起复制到同一位置

演示:

#!/bin/sh

IFS=$'\n'

for FILE in *1000000.prm; do
    new_name=$(echo "$FILE" | sed "s/1000000.prm$/full.prm/")
    cp "$FILE" "$new_name"
done
我建议:

➜  ls
a1000000.prm  b1000000.prm  copy.sh
➜  ./copy.sh 
➜  ls
afull.prm  bfull.prm  copy.sh

阅读
bash
手册页中的
参数扩展
部分。

请解释您的问题。您的意思是
cat*1000000.prm>。/asd/full.rpm
?我想复制以100000.prm结尾的所有文件。i、 e“*100000.prm”到同一位置,将“100000”替换为“完整”。有没有一种方法可以通过命令行来完成?例如:“xyz_100000.prm”将与名称“xyz_full.prm”一起复制到同一位置。
➜  ls
a1000000.prm  b1000000.prm  copy.sh
➜  ./copy.sh 
➜  ls
afull.prm  bfull.prm  copy.sh
for i in *1000000.prm; do mv $i ${i%1000000.prm}full.prm; done