Как мне скомпилировать scanbd на Raspberry Pi?

IFS=$'\n'
array=( $(awk '{print "\"" $0 "\""}' input_file) )

Для каждой строки в input_file, сверху вниз, команда awkв подстановке команд выполняет следующие действия:

  1. Заключите строку в двойные кавычки.
  2. Завершите строку в двойных -кавычках символом новой строки.
  3. Вывести результирующую строку на стандартный вывод.

Однако вместо вывода на стандартный вывод результат выполнения команды awkиспользуется для замены всей подстановки команды. Замена является результатом подстановки команды.

Затем к результату подстановки команд применяется разбиение слова -. Разделение слова -идентифицирует любую последовательность символов, не включающую символ IFS, но заканчивающуюся символом IFS, как отдельное «слово». Следовательно, в данном конкретном случае «словом» является любая строка (из строки input_file), заключенная в пару двойных кавычек командой awk.

Поскольку подстановка команды заключена в крайнюю пару круглых скобок (), результат awkпомещается между этими скобками, и оболочка обрабатывает круглые скобки целиком, включая все подстановочные токены между (, которые ваши строки размещены стороной -на стороне -, каждая из которых заключена в пару двойных кавычек )в виде массива.

ПРИМЕЧАНИЕ:

  • После присвоения массива вы можете сбросить переменную оболочки IFSобратно к исходному значению пробела, табуляции и новой строки.
0
14.02.2021, 15:19
0 ответов

Теги

Похожие вопросы