假设我在文件夹bash.sh
中有一个名为/home/test/
的bash脚本,在该文件夹中,我还有另外5个文件名为:file_1a.nc file_1b.nc file_2a.nc file_6a.nc file_6b.nc
。
我想复制bash.sh
5次,并且新副本需要与.nc文件具有相同的名称,如下所示:
file_1a_bash.sh file_1b_bash.sh file_2a_bash.sh file_6a_bash.sh file_6b_bash.sh
有什么建议吗? 谢谢
答案 0 :(得分:2)
这只是bash
Parameter Expansion处理的简单情况。
for f in file_*.nc; do cp bash.sh "${f%.nc}_bash.sh"; done
答案 1 :(得分:-2)
您可以将此answer应用于您的案例
find /home/test/ -type f -name '*.nc' | while read f; do
mv "$f" "${f%.nc}_bash.sh";
在ls -1
时,也可以使用/home/test/
代替find
;
for f in `ls -1 file_*` ; do
cp ${f} "${f%.nc}"_bash.sh;
done