假設我有一個輸入流,其中包含分隔成一定數量字段的行。我想剪切各個領域,向某個程序(假定每個輸入行返回一行)輸入某個字段(或多個字段),並將其他字段保持原樣並粘貼到一起。我大概可以想象一些令人費解的解決方案,但這應該是一種乾淨自然的方式。在命令中輸入輸入流的某個字段,並粘貼結果
作爲一個具體的例子,說我有生產形式的線方案:
$ inputprog
<a> hello world!
<b> hi everyone!
<a> hi!
說我希望把消息中大寫,而離開第一場不變。這裏是我想象的事情:
$ inputprog | program -d' ' -f2- "tr a-z A-Z"
<a> HELLO WORLD!
<b> HI EVERYONE!
<a> HI!
我要尋找一個合理的清潔方法近似program
。 (我對這個例子特有的解決方案不感興趣。)
在此先感謝您的幫助!
感謝您給我們詳細的答覆!我知道'sed'和'awk',但我真的需要將該字段轉換爲我有的用例的外部程序。 'toupper()'適用於這種簡單的情況,但是'awk'內置對於我想做的事來說是不夠的。但是,awk似乎具有將字段傳遞給外部命令的功能,我可以用它來做我想做的事情。謝謝你給我這個主意! :-) – a3nm