У меня есть входной файл, который состоит из трех частей:Буферизация вывода с AWK
inputFirst
inputMiddle
inputLast
В настоящее время у меня есть сценарий AWK, который с этим входом создает выходной файл, который состоит из двух частей:
outputFirst
outputLast
где outputFirst и outputLast генерируется (на лету) от inputFirst и inputLast соответственно. Однако, чтобы вычислить outputMiddle (это только одна строка), мне нужно отсканировать весь ввод, поэтому я храню его в переменной. Проблема в том, что значение этой переменной должно находиться между outputFirst и outputLast в выходном файле.
Есть ли способ решить эту проблему с помощью одного портативного AWK-скрипта, который не принимает аргументов? Есть ли переносимый способ создания временных файлов в AWK-скрипте или я должен хранить вывод с outputFirst и outputLast в двух переменных? Я подозреваю, что использование переменных будет довольно неэффективным для больших файлов.
_ «Есть ли (переносной) способ решить эту проблему?» _ Ответ: _yes_. Если вы хотите получить более подробный ответ, это поможет, если вы предоставите более подробную информацию в вопросе. – John1024
@ John1024 Предположим, что вход представляет собой файл из 100 чисел, а выход - это файл всех чисел, увеличивающихся на единицу, где сумма (сумма) вставлена между 50: и 51-м номером, и я хочу создать этот вывод из одного сценария AWK. Есть ли способ создания временных файлов в AWK? –
Это достаточно легко сделать. См. Ответ ниже. – John1024