У меня проблемы с применением команды gawk к массиву строк.
Сама по себе команда gawk работает нормально:
$ gawk '$1 == "name" {print $0}' Data1.txt >> Data2.txt
с этим я могу найти все, что напоминает слово «имя» в столбце 1 моего первого файла данных, и скопировать всю строку во второй файл данных.
Однако мне приходится выполнять эту процедуру пару раз, и при попытке выполнить следующее, похоже, ничего не получается:
$ array=("name1" "name2")
$ for i in "${array[$@]}"; do gawk '$1 == $i {print $0}' Data1.txt >> Data2.txt; done
сам массив выглядит нормально, так как он работает, когда я заменяю команду gawk командой echo. Я также пытался заменить $i на «$i», ${i}, «${i}» и т. д., но это не помогло.
Любая идея, что я делаю неправильно ?? Я новичок в Linux, поэтому заранее извините за мой нубский вопрос!
' "$i" '
(или'$i'
) тоже ничего не вставляет в мой файл Data2.txt. Теперь я понимаю, почему gawk не реагирует на мой$i
, однако, спасибо за это! - person RMulder   schedule 05.07.2015