Bash: 테이블에 열 추가

Bash: 테이블에 열 추가

테이블에 행 대신 열을 추가하고 열의 요소 수가 동일해야 하는 경우 어떻게 해야 합니까?

매일 변경되는 파일 세트가 주어지면 이를 추적하고 싶습니다.

예는 다음과 같습니다:

file1 3443 words 11-20-13 44 4788 words 11-23-13 
file2 4457 words ...

답변1

당신은 유틸리티를 원합니다 paste:

paste history today > new_history

기본적으로 paste줄은 구분되어 있습니다 tab. 이 옵션을 사용하여 변경할 수 있습니다 -d.

paste병합할 파일의 행 수가 동일하고 순서도 동일하며 파일 중 하나에서 제거해야 할 키가 없는 경우에만 예상대로 작동합니다. 약간 더 복잡한 유틸리티에 대해서는 다음을 참조하세요.join

답변2

가장 쉬운 방법은 이전 날의 출력을 반복하고 각 줄 끝에 원하는 새 콘텐츠와 함께 해당 줄을 인쇄하는 것입니다.

$ while read i; do printf "%s %s\n" "$i" "..new stuff.."; done < prior.txt

내가 당신의 라인을 파일에 넣고 그것을 호출한다고 가정 해 봅시다 prior.txt.

file1 3443 words 11-20-13 44 4788 words 11-23-13
file2 4457 words ...

위 명령을 실행하면 다음과 같은 결과가 출력됩니다.

$ while read i; do printf "%s %s\n" "$i" "..new stuff.."; done < prior.txt
file1 3443 words 11-20-13 44 4788 words 11-23-13 ..new stuff..
file2 4457 words ... ..new stuff..

세부 사항

위의 내용은 while루프를 사용하여 각 행을 반복합니다 prior.txt. 그런 다음 변수 와 string 에 printf포함된 행을 인쇄하는 데 사용합니다 .$i..new stuff..

..new stuff..위 내용을 자신만의 콘텐츠로 대체하거나 필요에 맞게 확장할 수 있습니다.

관련 정보