awk のデフォルトの区切り文字は、空白ではなく空白に変更されます。
切り取りのデフォルトはタブです。
空白ではなく空白区切り文字を使用するようにcutに通知できますか?
例えば
ㅏ:
foo bar
cut -d' ' -f2 a
スペースだけを印刷しますが、印刷する必要があります。バー。
awk '{ print $2; } a
列を印刷します。
もちろん、このセマンティクスが必要な場合は、通常、awkをカット交換として使用できます。しかし、カットの利点は、メモリ効率が非常に高いことです。特に(一部のawksとは異なり)、未使用の列はメモリにロードされません。
答え1
同様の方法を使用してデータを前処理できますtr -s ' ' '\t'
。しかし、行が長くなければ何の利点も得られません。 (いくら?測定してみるとわかります。)
答え2
cut(1)
何をしたいのかわかりません。あなたの考えが正しいと思います。スペース区切り記号を混ぜるのが最善の方法ですawk(1)
。