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
.
누군가 내 세 가지 예의 결과를 설명할 수 있습니까?
답변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