이렇게 알파벳순으로 정렬해야 해요
https://www.youtube.com/feeds/videos.xml?channel_id=ABC "~foo" Youtube
https://www.youtube.com/feeds/videos.xml?channel_id=XYZ "~bar" Youtube
평소처럼 채널 ID별로 정렬하는 대신 물결표 뒤의 문자를 가져와 그런 식으로 정렬하려면 필요합니다. 이 작업을 수행하는 방법을 아는 사람이 있나요? 미리 감사드립니다.
편집: 명확히 하기 위해 정렬해야 하며 "foo", "bar" 부분(태그 아님 Youtube
) 및 대문자/소문자 차이점만 무시해야 하며 영어 문자만 처리하면 됩니다. 그래서 예상되는 모습은
https://www.youtube.com/feeds/videos.xml?channel_id=XYZ "~bar" Youtube
https://www.youtube.com/feeds/videos.xml?channel_id=ABC "~foo" Youtube
답변1
질문에 대한 입력을 기반으로 명령은
sort -t'~' -k2 inputfile
인쇄
https://www.youtube.com/feeds/videos.xml?channel_id=XYZ "~bar" Youtube
https://www.youtube.com/feeds/videos.xml?channel_id=ABC "~foo" Youtube
또는man sort
https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/sort.html
편집하다질문에 추가된 새로운 요구 사항을 고려하십시오.
정렬 키는 물결표( ~
) 문자 뒤부터 줄 끝까지의 모든 항목 또는 첫 번째 물결표와 두 번째 물결표 사이의 모든 항목입니다. 이는 해당 Youtube
부분이 정렬 키에 포함된다는 의미입니다. 물론 이는 동일 foo"
하거나 bar"
부분이 있는 라인 쌍이 있는 경우에만 관련이 있습니다.
대소문자를 구분하지 않고 정렬하려면 옵션을 추가해야 합니다 -f
.