我有一個檔案,其中每一行包含一個人的姓名、職業和職責,用逗號分隔。我如何列印具有特定職業的人的姓名?到目前為止我有
awk -v val="barrister" '$0 ~ val' Occupation.txt
用于列印包含職業的行
但我不知道我怎么能做到,所以它只列印該行直到第一個逗號。
uj5u.com熱心網友回復:
Awk通過將{}塊中指定的操作應用于根據 s(在 // 內標識)過濾records的(行) ,這些操作可選地位于操作塊之前。pattern
因此,以下命令處理來自 的行occupation.txt,如果它們包含字串模式“barrister”,并列印這些行的第一個field(列)$1。不包含搜索模式的行將被忽略。
(@tshiono 指出,默認欄位分隔符從空格更改為逗號)
awk ' BEGIN{FS = ","} /barrister/{print $1}' occupation.txt
相當于:
awk -F "," '/barrister/{print $1}' occupation.txt
測驗
occupation.txt:
John, barrister, early
Jane, barrister, late
Kevin, manager, early
Karen, manager, late
輸出:
John
Jane
uj5u.com熱心網友回復:
grep barrister Occupation.txt | \
awk -F, '{ print $1 }'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/529241.html
標籤:壳Unixgrep
下一篇:處理檔案名中的引號和空格
