테이블에 행 대신 열을 추가하고 열의 요소 수가 동일해야 하는 경우 어떻게 해야 합니까?
매일 변경되는 파일 세트가 주어지면 이를 추적하고 싶습니다.
예는 다음과 같습니다:
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..
위 내용을 자신만의 콘텐츠로 대체하거나 필요에 맞게 확장할 수 있습니다.