문자 수로 디렉토리에서 가장 큰 파일을 찾고, 내용을 복사하고, 해당 파일을 삭제한 다음 다른 파일에 붙여넣고 싶습니다. 최종 목표는 디렉토리의 각 파일(txt)을 이 새로운 순서로 파일을 분리하세요.
문자 수 대신 바이트 크기별로 파일을 정렬하여 이를 관리했습니다.
내가 이룬 유일한 진전은 파일이 포함된 디렉터리를 통해 루프를 시도하는 것뿐이지만 이로 인해 오류가 발생하고 이 코드가 잘못된 트리를 짖는 것처럼 느껴집니다...
du -b *.txt | sort -n | tail -n1
답변1
그리고다루기 힘든, 당신은 사용할 수 있습니다 o
또는O
글로벌 예선바이트 크기와 같은 파일 시스템 메타데이터를 기반으로 파일을 쉽게 정렬할 수 있습니다.
cat -- *.txt(OL) >new-file.tmp &&
rm *.txt &&
mv new-file.tmp new-file.txt
이러한 glob 한정자를 사용하면 oe
OR OE
및 정렬 키를 계산하는 코드 조각을 사용하거나 o+
OR 및 정렬 키를 계산하는 셸 함수를 사용하여 O+
임의의 기준으로 정렬할 수도 있습니다. 따라서 wc -m
각 파일의 문자 수를 가져와 정렬 키로 사용할 수 있습니다. 정렬 키는 숫자이므로 및 사이가 아니라 및 사이 에서 정렬 n
되도록 glob 한정자를 전달합니다 .10
9
1
2
cat -- *.txt(noe\''REPLY=$(wc -m <$REPLY)'\') …