목록에 나타나는 순서와 반대 순서로 디렉터리의 파일 목록을 연결하고 싶습니다.
tac
이는 tac
파일을 역순으로 연결하는 것과 다릅니다.
기본적으로 3개의 파일이 있는 폴더 가 있고 file1
.file2
file3
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
순서는 실제로 반대가 됩니다(지정되지 않았기 때문에 로케일에 따라 알파벳순입니다).