У меня возникли проблемы с получением регулярного выражения, которое будет искать член ввода в указанном столбце. Если этот термин найден в этом столбце, тогда ему нужно вывести эту целую строку. Это мои переменные:Регулярное выражение для поиска столбца в текстовом файле
sreg = search word #Example: Adam
file = text file #Example: Contacts.txt
sfield = column number #Example: 1
текстовый файл в этом формате с пространством, являющимся поле Seperator, со многими контактных записей:
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" выглядит правильно ... –