請隨身攜帶,因爲我試圖說出問題。如何將排序的輸出傳遞給組合的xargs,-exec?
我有一個的 「.M」 條目列表的文件,這樣
Foo.m
Bar.m
我想更換每一個 '.M' 與'.h',排序並保持獨特性。
cat ../classes.txt | sed 's/\.m/\.h/' | sort -u
這給我相同的列表只是作爲 '.H' 項,即
foo.h中
Bar.h
第二部分是有關打印到stdout每個導入上面標題的文件。
即一個簡單的入口,它看起來像這樣
echo Foo.h | xargs -I file find Classes -name \*.m -exec grep -q 'import "file' {} \; -print
然而,管道第一的輸出到第二的時候,我得到了什麼標準輸出。
即
cat ../classes.txt | sed 's/\.m/\.h/' | sort -u | xargs -I file find Classes -name \*.m -exec grep -q 'import "file' {} \; -print
是怎麼回事?
'''''''文件'是否是一個錯字? – iruvar
嘗試使用'xargs -t'(打印命令到stderr)來查看它發出的每個命令是否符合您的期望。 – adurdin
@ 1_CR不是拼寫錯誤。它匹配#import「Foo.h」 – qnoid