要复制名称中包含63的文件,将其更改为64并将其复制到同一目录中。我该怎么做。
尝试使用awk,sed不工作。
ls *63*
例如,如果文件是test63.txt
,则应将其复制到同一目录中的test64.txt
。如果文件为63test.txt
,则应将其复制到64text.txt
答案 0 :(得分:1)
这样的事情:
for f in *63*; do newname=`echo $f | sed 's/63/64/'`; cp $f $newname; done
分为多行:
for f in *63*; do
newname=`echo $f | sed 's/63/64/'`
cp $f $newname
done
答案 1 :(得分:1)
一个广义的bash
解决方案,其可指定的数字增加1:
n=63
for f in *"$n"*; do
cp "$f" "${f/$n/$((n+1))}"
done