파일을 일괄 정렬하는 방법
를 사용할 때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 :wq
parte는 파일이 열린 후 vim에 명령을 호출합니다. -E
그리고.-s
vim이 단말기에 연결되지 않는 "헤드리스" 모드로 실행되도록 하기 위해 필요합니다.
이 방법은 다른 제품과 비교해도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
'programing' 카테고리의 다른 글
셸 스크립트의 인스턴스를 한 번에 하나만 실행할 수 있는 빠르고 더러운 방법 (0) | 2023.04.17 |
---|---|
Bash 문자열에서 고정 접두사/서픽스 제거 (0) | 2023.04.17 |
변수에 값을 할당하는 한 줄씩 파일 줄 읽기 (0) | 2023.04.17 |
각 디렉토리의 파일 수를 어떻게 계산합니까? (0) | 2023.04.17 |
특정 열에 데이터가 포함된 마지막 행을 찾으려면 어떻게 해야 합니까? (0) | 2023.04.17 |