programing

파일을 일괄 정렬하는 방법

starjava 2023. 4. 17. 21:14
반응형

파일을 일괄 정렬하는 방법

를 사용할 때sort file명령어는 파일의 내용을 정렬하여 표시합니다.stdout에서 출력을 얻지 않고 입력 파일에서 출력을 가져오려면 어떻게 해야 합니까?

를 사용할 수 있습니다.-o,--output=FILE같은 입력 및 출력 파일을 나타내는 sort 옵션:

sort -o file file

파일 이름을 반복하지 않음(bash 브레이스 확장 포함)

sort -o file{,}

134 중요 사항: 일반적인 실수는 출력을 동일한 입력 파일로 리디렉션하는 것입니다(예:sort file > file이것은 셸이 리다이렉트(sort(1) 프로그램이 아님)를 하고 있기 때문에 동작하지 않습니다.또한 출력으로서 입력 파일은 sort(1) 프로그램에 읽기 직전에 삭제됩니다.

sort명령어는 기본적으로 정렬 작업 결과를 표준 출력으로 출력합니다.「in-place」의 정렬을 실시하려면 , 다음의 작업을 수행합니다.

sort -o file file

그러면 입력이 덮어쓰게 됩니다.file정렬된 출력을 사용합니다.-o출력 지정에 사용되는 스위치는 POSIX에 의해 정의되기 때문에 모든 버전의 스위치에서 사용할 수 있어야 합니다.sort:

o 표준 출력 대신 사용할 출력 파일의 이름을 지정합니다.이 파일은 입력 파일 중 하나와 같을 수 있습니다.

만약 당신이 운이 나빠서 버전을 가지고 있다면sort를 제외하고-o스위치(Luis가 존재함을 보증합니다)는 표준적인 방법으로 "in-place" 편집을 수행할 수 있습니다.

sort file > tmp && mv tmp file
sort file | sponge file

이것은 다음 Fedora 패키지에 포함되어 있습니다.

moreutils : Additional unix utilities
Repo        : fedora
Matched from:
Filename    : /usr/bin/sponge

폴더와 하위 폴더의 모든 파일을 재정의하여 정렬하시겠습니까?

사용방법:

find . -type f -exec sort {} -o {} \;

여기 (ab)가 사용하는 접근법이 있습니다.vim:

vim -c :sort -c :wq -E -s "${filename}"

-c :sort -c :wqparte는 파일이 열린 후 vim에 명령을 호출합니다. -E그리고.-svim이 단말기에 연결되지 않는 "헤드리스" 모드로 실행되도록 하기 위해 필요합니다.

이 방법은 다른 제품과 비교해도sort -o "${filename}" "${filename}"filename 인수를 1회만 사용하는 것을 제외합니다.


이것은, IOS의 실장에 도움이 되었습니다.formatter에 있어서의 지시.nanorc에의 참가..gitignore파일입니다. 제가 사용한 내용은 다음과 같습니다.

syntax "gitignore" "\.gitignore$"

formatter vim -c :sort -c :wq -E -s

파일을 정렬하려면 다음을 수행합니다.

echo "$(sort your_file)" > your_file

다른 답변에서 설명한 것처럼 출력을 직접 입력 파일로 리디렉션할 수 없습니다.하지만, 당신은 그것을 평가할 수 있다.sort명령어를 먼저 실행한 후 원래 파일로 다시 리디렉션합니다.이 방법으로 인플레이스 정렬을 구현할 수 있습니다.

마찬가지로 이 트릭을 다음과 같은 다른 명령에도 적용할 수 있습니다.paste행 단위 추가를 구현합니다.

일부 파일에 대한 답변이 없으므로 다음과 같이 하십시오.

sort -u file1 file2 -o file1

언급URL : https://stackoverflow.com/questions/29244351/how-to-sort-a-file-in-place

반응형