zshエイリアスで引用符をエスケープします。

zshエイリアスで引用符をエスケープします。

フォローするこの問題テキストから改行を削除するには、次のようにzshエイリアスに変換したいと思います。

alias striplines=' awk " /^$/ {print \"\n\"; } /./ {printf( \" %s \",$0);}"'

awkスクリプトで引用符をエスケープしようとしましたが、次のエラーが発生しました。

awk: (FILENAME=bspsrobustness FNR=1) fatal: division by zero attempted

(ファイル名はbspsrobustness

私が望むことをする方法はありますか?私はこれをzshエイリアスの代わりにawkスクリプトに置き換えることができると思います。これが最善の選択ですか?

ベストアンサー1

エイリアスの代わりにzsh関数を使用できます。引用の輪を飛び越える必要はありません。

striplines() {
    awk '... awk body "with quotes" ...' "$@"
}

おすすめ記事