我無法獲得將在指定列中搜索輸入項的正則表達式。如果在該列中找到該術語,則需要輸出該整行。 這是我的變量:在文本文件中搜索列的正則表達式
sreg = search word #Example: Adam
file = text file #Example: Contacts.txt
sfield = column number #Example: 1
文本文件的格式如下用空格作爲分隔符領域,有許多聯繫人條目:
First Last Email Phone Category
Adam aster [email protected] 8473847548 word
Jeff Williams [email protected] 940342221995 friend
JOhn smart [email protected] 999999393 enemy
yooun yeall adada 111223123 other
zefir sentr [email protected] 8847394578 other
我沒有成功嘗試:
grep "$sreg" "$file" | cut -d " " -f"$sfield"-"$sfield"
awk -F, '{ if ($sreg == $sfield) print $0 }' "$file"
awk -v s="$sreg" -v c="$sfield" '$c == s { print $0 }' "$file"
感謝您的幫助!
謝謝,添加更多信息。空格是字段分隔符。 – Joe
$ sfield => 1,2,..需要另一個表達式將其更改爲$ 1,$ 2 ... –
您的快遞awk -vs =「$ sreg」-vc =「$ sfield」'$ c == s {print $ 0}'「$ file」看起來是正確的。 –