shell 指令問題 - Linux

By Queena
at 2011-10-24T14:30
at 2011-10-24T14:30
Table of Contents
※ 引述《yshihyu (yshihyu)》之銘言:
: find . -name 'xxx' | xargs xxxx
: find . -name 'xxx' -exec xxxx
: find . -name 'xxxx' | less
: 搞不太明白有時候用 | 在加上 xargs 跟不加上 xagrs 只用 | less 這樣差異在哪
: 或是直接用-exec 不用 | or xargs
: 知道朋友可以說一下嗎?
: 推 Jerr:xargs:build and execute command lines from standard input 10/24 11:19
: 推 Adama:-exec是每找到一個檔案就馬上執行後面的命令 10/24 11:24
: 推 ckclark:-exec xxxx {} +的話是全部都當做xxxx的arg 10/24 12:57
: → yshihyu:-exec 一次只能處理一個檔案? 一次要處理多個檔案用xargs? 10/24 13:00
-exec cmd {} \; 是每次比對成功找到檔案就執行一次cmd
| xargs cmd 才是把所有找到的檔案轉成stdin餵給cmd
多數時候兩者是一樣的,甚至用 xargs比較快
但如果比對成功的檔案太多,會造成 xargs產生的input引數太長導致cmd吃不下,
這時就要改用 -exec
而 -exec cmd {} + 效果和xargs類似,先找出所有檔案才執行cmd
--
Nice to meld you.
--
: find . -name 'xxx' | xargs xxxx
: find . -name 'xxx' -exec xxxx
: find . -name 'xxxx' | less
: 搞不太明白有時候用 | 在加上 xargs 跟不加上 xagrs 只用 | less 這樣差異在哪
: 或是直接用-exec 不用 | or xargs
: 知道朋友可以說一下嗎?
: 推 Jerr:xargs:build and execute command lines from standard input 10/24 11:19
: 推 Adama:-exec是每找到一個檔案就馬上執行後面的命令 10/24 11:24
: 推 ckclark:-exec xxxx {} +的話是全部都當做xxxx的arg 10/24 12:57
: → yshihyu:-exec 一次只能處理一個檔案? 一次要處理多個檔案用xargs? 10/24 13:00
-exec cmd {} \; 是每次比對成功找到檔案就執行一次cmd
| xargs cmd 才是把所有找到的檔案轉成stdin餵給cmd
多數時候兩者是一樣的,甚至用 xargs比較快
但如果比對成功的檔案太多,會造成 xargs產生的input引數太長導致cmd吃不下,
這時就要改用 -exec
而 -exec cmd {} + 效果和xargs類似,先找出所有檔案才執行cmd
--
Nice to meld you.
--
Tags:
Linux
All Comments

By William
at 2011-10-28T10:38
at 2011-10-28T10:38
Related Posts
請教目錄大小問題

By Sarah
at 2011-10-24T11:07
at 2011-10-24T11:07
製作Puppy Linux的開機隨身碟

By Doris
at 2011-10-24T08:36
at 2011-10-24T08:36
Linux 範例程式跑不過

By Dinah
at 2011-10-24T00:12
at 2011-10-24T00:12
分割磁區 新手問題

By Andrew
at 2011-10-23T22:20
at 2011-10-23T22:20
ubuntu新手

By Agnes
at 2011-10-23T13:36
at 2011-10-23T13:36