linux批量重命名之xargs

最近處理數據,常常需要對某個文件夾下的所有文件進行重命名,例如所有xxx重命名爲xxx.txt

所以寫了個shell腳本,用for循環來完成

今天無意中看到一個Linux命令非常適合完成該任務——xargs:

ls | xargs -t -i mv {} {}.txt

-i 選項告訴 xargs 用每項的名稱替換 {}。-t 選項指示 xargs 先打印命令,然後再執行。
非常簡單。

然後發現xrags真的是一個非常有用的命令,它的主要功能是將上一個命令的輸出,作爲下一個命令的輸入參數,和用for循環逐個運行是一樣的效果,但是更簡單,效率也會更高。

例如:
刪除文件夾下所有空文件:

find . -name "*" -type f -size 0c | xargs -n 1 rm -f  

下載文本里面的所有鏈接:

cat url-list.txt | xargs wget –c

批量壓縮:

find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

逐個編輯文件:

file * | xargs vi
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章