xargs 在每一行后不提示

liv*_*hak 2 shell xargs

我想知道我的目录中所有数据文件的大小。我尝试使用以下命令。文件名都以data_.

 find . -name 'data_*' -type f  | xargs ls -sh -n1 -p
Run Code Online (Sandbox Code Playgroud)

我确实得到了包含详细信息的文件列表,如下所示:

-rw-r--r-- 1 1826696135 1826619905 4.5K Apr  7 16:48 ./data_70
-rw-r--r-- 1 1826696135 1826619905 4.5K Apr  7 16:48 ./data_71
-rw-r--r-- 1 1826696135 1826619905 4.5K Apr  7 16:48 ./data_72
-rw-r--r-- 1 1826696135 1826619905 4.6K Apr  7 16:48 ./data_73
-rw-r--r-- 1 1826696135 1826619905 4.5K Apr  7 16:48 ./data_74
Run Code Online (Sandbox Code Playgroud)

但是,xargs 从未提示过我。由于我正在使用-p -n1,我希望程序在每行之后提示我。怎么了?

dha*_*hag 6

试试xargs -n1 -p ls -sh。使用您的问题中的内容xargs ls -sh -n1 -p,所有内容都将传递给ls,而不是xargs.