linux下用批量改名命令的写法
问题描述:在一个目录下,有一堆文件,例如 afile.txt bpage.htm csome.jpg …. 想批量进行改名,都统一改为: name1.file name2.file name3.file …
解决办法:
$ ls | grep -n '' | sed 's/\([0-9]*\):\(.*\)/\2 name\1.file/g' | xargs -n 2 mv
用 ls | grep -n '' 可以对文件加上行号,输出结果为:
1:afile.txt
2:bpage.htm
…
然后通过 sed 进行模式匹配、替换操作,
最后通过 xargs 构造出 mv 的参数。