두 디렉터리의 경로 이름이 포함된 파일이 있습니다. 상위 디렉토리에 관계없이 파일 이름별로 정렬하고 싶습니다.
텍스트는 다음과 같습니다.
/mnt/samsung/a/b/c
/mnt/samsung/d/e/f
...
/mnt/wd/a/b/c
/mnt/wd/d/e/f
다음과 같이 정렬하고 싶습니다.
/mnt/samsung/a/b/c
/mnt/wd/a/b/c
/mnt/samsung/d/e/f
/mnt/wd/d/e/f
나는 이것을하려고 노력하고 있습니다 :
sort -t / -k3
하지만 작동하지 않습니다.
나는 또한 다음을 시도했습니다.
sort -t "/" -k3
sort -t "/" -k2
sort -t / -k2
그들 중 누구도 직업이 없습니다.
내가 원하는 것을 무엇이 나에게 줄 것인가?
답변1
$ sort -t '/' -k 6 file
/mnt/samsung/a/b/c
/mnt/wd/a/b/c
/mnt/samsung/d/e/f
/mnt/wd/d/e/f
지정된 경로의 경우 경로 끝에 있는 파일 이름은 /
각 줄의 여섯 번째 구분 필드입니다(첫 번째 필드의 길이는 0입니다).
--debug
GNU와 함께 사용하면 sort
다음과 같이 출력됩니다.
$ sort --debug -t '/' -k 6 file
sort: text ordering performed using simple byte comparison
/mnt/samsung/a/b/c
_
__________________
/mnt/wd/a/b/c
_
_____________
/mnt/samsung/d/e/f
_
__________________
/mnt/wd/d/e/f
_
_____________
...최종 경로 구성 요소를 정렬 키로 사용하고 있음을 나타냅니다.
또한 관련성이 있을 수 있습니다(에 따라실제작업은 다음과 같습니다.