列印不包含字元的單字

列印不包含字元的單字

我的文件採用以下格式:

this!,is!,another!,test,yes!
this!,is!,another!,column,yes!
no,not!,another!,column

我的輸出應該是:

test
column
no

它不應包含“!”特點。

我嘗試了多個 sed 和 (e)grep 命令,但沒有一個能正常運作。

答案1

試試這樣的事情:

tr ',' '\n' < file.txt | grep -v \!

答案2

假設你真的想...

test
column
no
column

……這是一個awk解決方案:

awk -v RS=, '{ for (i=1; i<=NF; i++) if($i !~ /!/) print $i; }'

答案3

需要 GNU grep:

grep -oP '(?<=^|,)[^!]+(?=,|$)'

根據您的輸入,報告:

test
column
no
column

如果您不希望“column”出現兩次:grep -oP '(?<=^|,)[^!]+(?=,|$)' | sort -u

答案4

假設您的文字檔案是test.txt,如下:

for word in $(cat test.txt | sed -e 's/,/ /g'); do if [ ! "$( echo "$word" | grep '\!' )" == "$word" ]; then echo "$word"; fi; done

給我:

test
column
no
column

相關內容