tail -1 file1 >> file2 \n 없음

tail -1 file1 >> file2 \n 없음

이것은 간단할 수 있지만 둘러본 후에도 내 문제에 대한 해결책을 찾을 수 없습니다. tail -1 file1을 사용하여 file1의 마지막 행을 복구하고 이를 기존 파일에 테이블로 추가하여 채울 수 있도록 하려고 합니다. 다음을 수행하여 열(쉼표로 구분)을 삭제합니다.

tail -1 file1 >> file2
echo "," >> file2
tail -1 file3 >> file2
echo "," >> file2
....

하지만 내 문제는 각각의 새로운 항목이 새로운 줄에서 수행된다는 것입니다. 어떻게 하면 이를 방지할 수 있나요?

감사합니다

답변1

tail -1마지막 줄을 끝내는 개행 문자를 포함하여 지정된 파일의 마지막 줄을 추출합니다. 이 개행 문자를 제거해야 합니다.

명령 대체는 $(…)후행 줄 바꿈을 제거합니다. 따라서 tail호출을 명령 대체에 넣으십시오.

printf '%s,%s\n' "$(tail -n1 file1)" "$(tail -n1 file3)" >>file2

쉘과 데이터에 따라 echo "$(tail -n1 file1),$(tail -n1 file3)" >>file2작동할 수도 있고 작동하지 않을 수도 있습니다. 첫 번째 열이 백슬래시로 시작하지 않고 -백슬래시가 포함된 열이 없는 경우 이는 작동이 보장됩니다.

관련 정보