파일 크기 오른쪽에 있는 네 번째, 다섯 번째, 여섯 번째 열을 강조 표시하는 현명한 방법이 있습니까 ls -l
? 내 의도는 파일 크기(바이트, KiB 또는 MiB)를 쉽게 읽을 수 있도록 하는 것입니다. 기호 는 이해 -h
하지만 숫자의 길이(크기)만 보는 것보다 끝에 있는 문자를 해석해야 하는 것이 더 귀찮습니다. 이는 경주용 자동차가 디지털 다이얼 대신 아날로그 다이얼을 사용하는 것과 같은 이유입니다.
내 대상 쉘은 Bash입니다. 감사해요.
편집하다:크기 열에 대해 수천, 수천, 수십만을 강조하고 싶습니다. 좋아요: 123456화789화
답변1
어쩌면 다음과 같은 것일 수도 있습니다.
ls -l | perl -pe 'BEGIN{@color=(0,2,3,1,5,4)}
s{((?:\S+\s+){4})(\d+)}{"$1\e[3" .
$color[log($2||1)/log(2)/10] . "m$2\e[m"}e'
크기 0~1023의 경우 검정색(또는 터미널의 기본 전경색), 1k~1M은 녹색, 1M~1G는 노란색, 빨간색, 보라색, 파란색 순입니다.
편집하다. 편집자의 요청에 따라:
ls -l | perl -pe 's{^((?:\S+\s+){4}\d*)(\d{3})(?=\d{3})}
{$1\e[31;1m$2\e[m}'
답변2
추가 소프트웨어를 설치하지 않고 이를 수행하는 가장 쉬운 방법은 grep --color
그냥 사용하는 것입니다. ls 출력에서 파일 크기를 강조 표시하려면 다음과 같은 명령을 실행해야 합니다(때로는 크기보다 더 많은 것을 강조 표시하기도 함).
ls -l | grep --color '\s\+[0-9]\+\s'
그렇지 않으면 참조하십시오유제그게 다야.