У меня есть файл, и я хочу напечатать всю строку в файле, если второй столбец соответствует определенному значению в файле
Содержимое моего файла:
xxxxx-test|test|machine1
xxxxx-test|abcc|machine2
xxxxx-test|bcd|machine3
xxxxx-test|efgh ijhk|machine4
xxxxx-test|efgh ijhk2|machine4
Теперь я хочу эту строку xxxxx-test|efgh ijhk|machine4
grep
здесь не работает эффективно
cat file.txt | grep "efgh"
xxxxx-test|efgh ijhk|machine4
Но когда я grep
для test
, он отображает все строки, поскольку в моем первом столбце есть строка test
.
cat file.txt | grep "test"
xxxxx-test|test|machine1
xxxxx-test|abcc|machine2
xxxxx-test|bcd|machine3
xxxxx-test|efgh ijhk|machine4
awk
тоже вроде не работает.
cat file.txt | awk -F'|' '$2=="test" '
xxxxx-test|test|machine1
Эта строка ничего не дает.
cat file.txt | awk -F'|' '$2=="efgh"'
cat file.txt | awk -F'|' '$2=="ijhk"'
Когда значение строки для сопоставления равно test
, вывод должен быть xxxxx-test|test|machine1
.
Когда значение строки для сопоставления равно efgh, вывод должен быть xxxxx-test|efgh ijhk|machine4
.
Когда значение строки для сопоставления равно ijhk, вывод должен быть xxxxx-test|efgh ijhk|machine4
.
Есть предложения, какие еще инструменты я могу использовать?