在研究hadoop的過程中,遇到乙個小難題。
問題描述:我需要將資料夾a下的檔案拷貝到資料夾b中,但是以hadoop開頭的檔案不要拷貝。
問題解決:ls a|grep -v hadoop|xargs -t -i {} cp {} /b
解釋:grep -v 是反選。xargs命令的功能是將管道傳來的的資訊作為引數賦予馬上要執行的命令。
如果該命令是單引數指令,例如rm,那麼很簡單:
ls a|xargs rm 即可。
如果該命令是多引數指令,例如cp。那可如何是好?
可以賦予-i(是大寫的i不是l)選項,-i後面跟著的{}即指代管道傳來的資訊。
另:-t選項表示列印出所有指令。
linux 的重定向 管道 xargs 命令
重定向 管道和xargs命令都是在命令之間傳遞資料的方式。linux 的最初的理念就是 kiss keep it stupid 的縮寫。命令列命令都只做一樣事情,但是要完成得非常出色。給我最深刻印象是 tar命令。tar命令的目的只是將幾個檔案連線在一起組成乙個大檔案而已。而壓縮的程式只能壓縮單個檔...
管道命令符(pipe,」 「) 引數代換xargs
簡單一句話概括 把前乙個命令原本要輸出到螢幕的資料當作是後乙個命令的標準輸入 standard output 執行格式為 命令a 命令b 注意 管道符 僅能處理經由前乙個命令傳來的正確資訊,即standard output的資訊,對於error output錯誤輸出沒有直接處理的能力 管道符 右邊的...
管道命令和xargs的區別 經典解釋
一直弄不懂,管道不就是把前乙個命令的結果作為引數給下乙個命令嗎,那在 後面加不加xargs有什麼區別 newuserff 寫道 懶蝸牛gentoo 寫道 管道是實現 將前面的標準輸出作為後面的標準輸入 xargs是實現 將標準輸入作為命令的引數 你可以試試執行 echo help cat echo ...