linux批量操作命令-xagrs
1.批量复制
#将文件夹下前100个文件,拷贝到目标文件夹中。
ls | head -n 100 | args -i cp {} [target_dir]
ls | head -n 100 | args -I file_name cp file_name [target_dir]
2.批量修改文件名
#将文件下所有文件的 .txt
后缀,批量重命名为 .md
后缀。
ls | xargs -i echo mv {} {} | sed 's/.png/.txt/2g' | sh
sed
##通过 -i
参数可以指定一个扩展名,文件将被原地修改,原内容会被备份到指定扩展名文件中。如果没有给定扩展名参数,则不会保存备份。不建议不给出扩展名参数,因为这风险比较大。
3.批量修改文件内容
sed -i .backup 's/[old_string]/[new_string]/g' *.txt
4.指定方式创建文件夹
#比如当一个目录下文件比较多时,可能会要求按照文件的前n位创建一个目录,并将所有文件名前n位相同的文件移动到对应目录中。
ls | awk '{print "mkdir "substr($1,1,4)" && mv "$1" "substr($1,1,4)}' | sh
参考:link