Выполнить скрипт для каждой строки входного файла

У меня есть текстовый файл с 100 строк и 5 столбцов. Я хочу автоматизировать сценарий с чтением файла каждой строки, сделать первый столбец первым аргументом, второй столбец вторым аргументом и т. Д. Как можно решить эту проблему?

1 ответ

Трудно быть окончательным без реального примера от вас, но вы можете использовать форму массива встроенной в оболочку bash read функционировать что-то вроде:

while read -ra arr; do cmd "${arr[@]}"; done < file

Ex. дали файл

$ cat file
foo some arg 3
bar otherarg 5 -o bar
baz "arg with spaces" -99

тогда

$ while read -ra arr; do echo cmd "${arr[@]}"; done < file
cmd foo some arg 3
cmd bar otherarg 5 -o bar
cmd baz "arg with spaces" -99

В качестве альтернативы, если ваши аргументы команды просты (без кавычек, например), вы можете попробовать xargs например

xargs -L1 -a file cmd
Другие вопросы по тегам