cygwin awk вывод к разделителям строки окон

Это были некоторые жуткие настройки или кэшированные данные от Gnome 2, который смешивал с интерфейсом. Я сохранил важные файлы к внешнему диску и освободил домашнюю папку, (включая.*-files).

2
09.08.2014, 13:47
2 ответа

Вывод каждой обработанной строки awk завершается переводом строки ( \ n ), который является стандартом Unix / Linux. Windows / DOS ожидает возврата каретки с последующим переводом строки для обозначения конца строки ( \ r \ n ). блокнот отобразит все файлы, созданные Linux, в том виде, в каком вы их видите в данный момент.

Чтобы решить эту проблему, направьте вывод awk через команду unix2dos , которая преобразует n s в \ r \ n s. для вас:

unzip -l my.zip | awk '{print $4}' |unix2dos > my.txt

Или попробуйте указать awk выводить \ r \ n в конце каждой строки, используя переменную ORS :

unzip -l my.zip | awk -v ORS='\r\n' '{print $4}' > my.txt

Чтобы список без верхнего и нижнего колонтитула:

unzip -l my.zip | awk -v ORS='\r\n' '{print $4}' | tail -n +4 | head -n -2 > my.txt

или

В качестве альтернативы используйте zipinfo -1 (номер 1, а не букву l), чтобы перечислить файлы без верхнего и нижнего колонтитула. Возможно, вам все еще понадобится передать его через unix2dos . Полезно, только если zipinfo доступен в CygWin.

2
27.01.2020, 22:13

Мне удалось преобразовать разделители строк выходного файла в стиль dos с помощью unix2dos .

$ unix2dos my.txt
unix2dos: converting file cdc_1.1.jar.txt to DOS format...
0
27.01.2020, 22:13

Теги

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