linux學習筆記 xargs

2021-06-20 18:48:37 字數 857 閱讀 9016

我們可以用管道將乙個命令的stdout重定向到另乙個命令的stdin。例如

cat foo.txt | grep "bar"
但是,有些命令只能以命令列引數的形式接受資料,而無法通過stdin接受資料流。在這種情況下,xargs就顯得非常的有用了。

cat example.txt
1 2 3 4

5 6 7

8 9

cat example.txt | xargs
1 2 3 4 5 6 7 8 9

cat eaxmple.txt | xargs -n 3
1 2 3 

4 5 6

7 8 9

echo "splitxsplitxsplitxsplit" | xargs -d x
split split split split

首先,看下下面的一行命令有什麼效果:

find . -name '*.sh' | ls -al
它會列出當前目錄下的所有檔案,因為ls不能接受管道的stdout作為自己的stdin 怎麼辦呢?

--用xargs:

find . -name '*.sh' | xargs ls -al
這樣就能列出當前目錄下所有以sh為字尾的檔案了。

另外,上面的這條命令還可以用

find  -exec

來寫:

find . -name '*.sh' -exec ls -al {} \;

linux學習筆記 xargs

我們可以用管道將乙個命令的stdout重定向到另乙個命令的stdin。例如 cat foo.txt grep bar 但是,有些命令只能以命令列引數的形式接受資料,而無法通過stdin接受資料流。在這種情況下,xargs就顯得非常的有用了。cat example.txt 1 2 3 4 5 6 7 ...

xargs筆記 xargs和mv配合

將所有子目錄裡的txt檔案移動到當前目錄。d installer 2 321.txt 新建資料夾 1.txt 新建資料夾 fds.txtfind mindepth 2 name txt xargs i file mv file 原理 find命令便令當前目錄,通過 mindepth 2排除當前層級。...

xargs 命令教程筆記

unix 命令都帶有引數,有些命令可以接受 標準輸入 stdin 作為引數。cat etc passwd grep root上面的 使用了管道命令 管道命令的作用,是將左側命令 cat etc passwd 的標準輸出轉換為標準輸入,提供給右側命令 grep root 作為引數。因為grep命令可以...