Как разобрать многострочный файл и выполнить некоторые операции для каждой строки токена в bash?
Скажем, у нас есть tsv-файл
1 2 3
1 2 3
Мы хотим сделать некоторую операцию, скажем echo $1 $2 $3
для каждой строки файла tsv.
Как сделать такую вещь в Баш?
1 ответ:
Это может сделать его:
while read -r a b c do echo "first = $a second = $b third = $c" done < file
Тест
$ while read -r a b c; do echo "first=$a second=$b third=$c"; done < file first=1 second=2 third=3 first=1 second=2 third=3
Поскольку разделитель является вкладкой, вам не нужно использовать
IFS
. Если бы это было, например,|
, Вы могли бы сделать:$ cat file 1|2|3 1|2|3 $ while IFS='|' read -r a b c; do echo "first=$a second=$b third=$c"; done < file first=1 second=2 third=3 first=1 second=2 third=3