1. 程式人生 > >linux批量重新命名之xargs

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