파일을 역순으로 연결하는 방법

파일을 역순으로 연결하는 방법

목록에 나타나는 순서와 반대 순서로 디렉터리의 파일 목록을 연결하고 싶습니다.

tac이는 tac파일을 역순으로 연결하는 것과 다릅니다.

기본적으로 3개의 파일이 있는 폴더 가 있고 file1.file2file3

cat f* > newfile이러한 파일은 다음과 같이 병합됩니다.

file1
file2
file3

그런데 이렇게 파일을 병합하고 싶어요

file3
file2
file1

올바른 라인 순서를 유지하면서 이 모든 것이 가능합니다.

답변1

tac이는 tac파일을 역순으로 연결하는 것과 다릅니다

...역방향 파일 순서가 필요하지 않습니다. 놀랍게도 이것은좋아요, tac전체 출력에 대해 추가 조작을 수행하면 원하는 결과를 얻을 수 있기 때문입니다.

tac f* | tac

답변2

"보조 확장"을 시도하십시오(참조 man bash):

set -vx
cat file{3..1}
+ cat file3 file2 file1

답변3

ls정렬한 다음 연결하도록 요청할 수 있습니다 cat.

ls -1r | xargs -d'\n' cat

다른 정렬 순서를 사용하거나 항목을 섞으려는 경우 파이프라인의 왼쪽 부분을 변경할 수 있습니다.

이 경우 -1각 줄에 하나의 파일 이름이 나열되며 -r순서는 실제로 반대가 됩니다(지정되지 않았기 때문에 로케일에 따라 알파벳순입니다).

관련 정보