嗨,我正在學習sed,我想解決我的一個練習。它說我需要刪除包含一個或多個大寫字母的行中的任何單詞。刪除包含一個或多個大寫字母的單詞
示例輸入:
Hi im NEW here need help NOw
輸出:
im here need help
嗨,我正在學習sed,我想解決我的一個練習。它說我需要刪除包含一個或多個大寫字母的行中的任何單詞。刪除包含一個或多個大寫字母的單詞
示例輸入:
Hi im NEW here need help NOw
輸出:
im here need help
這裏有一個辦法:
echo Hi im NEW here need help NOw | xargs -n1 | sed '/[A-Z]/d' | xargs
im here need help
+1哈哈 - 輝煌! =無論如何,這不是一個純粹的sed ...但真的很好:) – jm666
謝謝你的答案 – user3473968
這應該做:
echo "Hi im NEW here need help NOw" | awk '{for (i=1;i<=NF;i++) if ($i!~/[[:upper:]]/) printf "%s ",$i;print""}'
im here need help
此測試一個和一個字段。打印所有字段不包含任何大寫字母。
問題在於提問的問題寫在sed – user3473968
@ user3473968 Mark的迴應不僅是'sed'。不是所有的東西都可以通過'sed'或者單個命令輕鬆解決。 – Jotne
這裏是一個辦法做到這一點在sed
:
$ echo "Hi im NEW here need help NOw" | sed -r ':a;s/[a-z]*[A-Z]+[a-z]* *//;ta'
im here need help
+1純sed解決方案;也適用於包含'''字符的標記。 – mklement0
謝謝@ mklement0。不是我喜歡的首選工具,但我喜歡它有時提供的挑戰。 ':)'。 –
它很好用。 – user3473968
什麼是你的工作這麼遠? – Selcuk
我知道如何刪除只包含所有大寫字母的單詞,但不是這樣的...... – user3473968
向我們展示您的代碼,瞭解如何刪除具有所有大寫字母的單詞,並使我們可以從此處獲得幫助。 – Adam