IFS=$'\n'
array=( $(awk '{print "\"" $0 "\""}' input_file) )
Для каждой строки в input_file
, сверху вниз, команда awk
в подстановке команд выполняет следующие действия:
Однако вместо вывода на стандартный вывод результат выполнения команды awk
используется для замены всей подстановки команды. Замена является результатом подстановки команды.
Затем к результату подстановки команд применяется разбиение слова -. Разделение слова -идентифицирует любую последовательность символов, не включающую символ IFS
, но заканчивающуюся символом IFS
, как отдельное «слово». Следовательно, в данном конкретном случае «словом» является любая строка (из строки input_file
), заключенная в пару двойных кавычек командой awk
.
Поскольку подстановка команды заключена в крайнюю пару круглых скобок ()
, результат awk
помещается между этими скобками, и оболочка обрабатывает круглые скобки целиком, включая все подстановочные токены между (, которые ваши строки размещены стороной -на стороне -, каждая из которых заключена в пару двойных кавычек )в виде массива.
ПРИМЕЧАНИЕ:
IFS
обратно к исходному значению пробела, табуляции и новой строки.