我有一个目录列表,如
seascaperecovered0088crop.jpg
seascaperecovered0096crop.jpg
seascaperecovered0098crop.jpg
seascaperecovered0101crop.jpg
seascaperecovered0103crop.jpg
seascaperecovered0105crop.jpg
seascaperecovered0107crop.jpg
seascaperecovered0112crop.jpg
seascaperecovered0119crop.jpg
seascaperecovered0122crop.jpg
Run Code Online (Sandbox Code Playgroud)
我想重命名所有文件,如下所示:
seascape_0122.jpg
Run Code Online (Sandbox Code Playgroud)
我尝试过这样的事情:
for f in `ls | egrep 'seascaperecovered.*\.jpg'`;
do mv $f ${f/seascaperecovered/seascape};
done
Run Code Online (Sandbox Code Playgroud)
我已经读过你可以用mv,rename,sed,awk等来做到这一点.有人能指出我在UNIX中实现这个的最简单(也是最清晰,最有希望)的方法吗?FWIW,我正在进入Linux机器并运行bash shell.
谢谢,jml
很简单:
for i in seascaperecovered*.jpg; do A=${i/crop/}; mv $i ${A/recovered/_}; done
Run Code Online (Sandbox Code Playgroud)
(echo在第mv一次之前进行干运行.)
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |