cygwin awk は Windows 行の区切り文字として出力されます。

cygwin awk は Windows 行の区切り文字として出力されます。

zipエントリのリストを印刷してtxtファイルに渡す方法を見つけることができます。

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

Windows メモ帳でファイルを開くと、行区切りmy.txt文字は無視され、すべての行が 1 行にレンダリングされます。

これらのパイプラインに適切な行区切り文字を適用するにはどうすればよいですか?

ベストアンサー1

処理された各行の出力は、Unix / Linux標準であるawk改行文字()で終わります。\nWindows / DOSでは、行末を表示するためにキャリッジリターンと改行が必要です(\r\n)。 notepad現在表示されているすべてのLinux生成ファイルが表示されます。

awkこの問題を解決するには、sをsにunix2dos変換するコマンドの出力を渡します。n\r\n

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

awkまたは、変数を使用して各行の終わりに出力を教えてください。\r\nORS

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 <zip file>ヘッダーやフッターなしでファイルを一覧表示するには(文字l以外の数字1)を使用します。それでもパイプを介して接続する必要がありますunix2doszipinfoCygWinで利用可能な場合にのみ便利です。

おすすめ記事