Как разбить файл через awk
команду и настроить имя выходного файла?Нужно настроить имя файла вывода с помощью команды awk
Я попытался,
awk -v RS=$val '{ outfile = "'$filename'""." NR "'.${extension}'"; print > outfile}' $file
Как разбить файл через awk
команду и настроить имя выходного файла?Нужно настроить имя файла вывода с помощью команды awk
Я попытался,
awk -v RS=$val '{ outfile = "'$filename'""." NR "'.${extension}'"; print > outfile}' $file
Вы можете использовать sprintf
для создания имен файлов, как
outputfile = sprintf ("filename%03d.txt", NR);
Некоторые вещи, которые будут отмечены в сценарии,
Вы не можете получить доступ к l непосредственно в вашем сценарии awk
, вам необходимо создать переменные awk
, используя -v
formate.
Так сценарий должен быть как
awk -v filename=$filename -v extension=$extension '{ outputfile = sprintf (filename"%03d"extension, NR); print > outputfile }'
awk
не имеет каких-либо конкретных concatenation operator, просто пишу 2 строки вместе сцепляет их.
Я пробовал, но я получаю синтаксическую ошибку. Пожалуйста, включите RS = $ val это также в команде, так как это фактор, по которому файлы становятся разделенными –
@RaghvendraNayak Это всего лишь пример того, как скрипт может быть изменен. Вы можете добавить логику, чтобы она работала для вас. Надеюсь, поможет :) – nu11p01n73R
Пример: Вывод файла должен быть fileName001, fileName002, fileName003 .... fileName999. Я пробовал настроить его. Однако не удается найти какую-либо команду. Выходной ток: имя_файла1, filename2, имя_файла3 ...... fileName4 Обязательный выход: fileName001, fileName002, file003 ....... fileName999 –
Не добавлять комментарий под свой вопрос - просто редактировать ваш вопрос, если у вас есть что добавить. Также включают ввод проб и ожидаемый результат. –