다음과 같은 텍스트 파일이 있습니다.
a
b
c
d
e
f
g
이 줄을 그룹화하여 다음과 같은 출력을 얻는 방법은 무엇입니까?
a-b
b-c
c-d
d-e
e-f
f-g
쉘 (sh, csh, bash) 에서이 작업을 수행해야합니다.
나는 이것을 발견했다 :
cat file | xargs -n2
그러나 첫 번째 그룹의 마지막 요소는 두 번째 그룹의 첫 번째 요소가되지 않았습니다.
다음과 같은 텍스트 파일이 있습니다.
a
b
c
d
e
f
g
이 줄을 그룹화하여 다음과 같은 출력을 얻는 방법은 무엇입니까?
a-b
b-c
c-d
d-e
e-f
f-g
쉘 (sh, csh, bash) 에서이 작업을 수행해야합니다.
나는 이것을 발견했다 :
cat file | xargs -n2
그러나 첫 번째 그룹의 마지막 요소는 두 번째 그룹의 첫 번째 요소가되지 않았습니다.
답변:
paste -d- - ./infile <infile
^ 입력 내용이 하나씩 인 것을 제외하고는 정말 잘 작동합니다. 그래서...
{ echo; cat <infile; } | paste -d- - ./infile | sed '1d;$d'
... 작동하지만 너무 복잡 할 수 있습니다 ...
sed
그것을 혼자 내버려두기로 결정했습니다 .
sed 1d\;\$d
수정해야합니다.
sed '2~2p' infile | paste -d- - -
paste -d- <(head -n -1 input) <(tail -n +2 input)