fmt(GNU coreutils)8.25を使用していますが、どのように使用するのかわかりません。特に、次の結果がわかりません。
$ echo -n "a b c d e" | fmt -w3 -g3
得ることを期待
a b c d e
しかし、私は理解しています
a b c d e
だから私は
fmt
それを挿入しようとした改行を数えることができると思いました。$ echo -n "a b c d e" | fmt -w4 -g4
しかし、私は次のような結果を得ます。
a b c d e
最後に、次のメッセージは表示されません。
$ echo -n "a b c d e" | fmt -w4 -g1
あげると期待するa b c d e
しかしそれは
a b c d e
-w
だから明らかに、オプションがどのように機能するのかわかりません-g
。
誰かが私の3つの例の結果を説明できますか?
答え1
coreutils 'の質問に対する回答ではありませんが、次のようにfmt
文字列操作のケースを解決することもできますsed
。
printf "a b c d e\n" | sed 's/.\{1\} .\{1\} /&\n/g'
結果:
a b
c d
e
.\{1\}
単一文字に対応します。
答え2
次のように、xargsを使用して予想される結果を得ることもできます。
printf "a b c d e\n" | xargs -n2 -d" "
生産
a b
c d
e
単一文字だけでなく:
printf "one two three four five\n" | xargs -n2 -d" "
生産:
one two
three four
five
頑張って...乾杯、drl