시작이 아닌 문자로 행을 알파벳순으로 정렬하는 방법은 무엇입니까?

시작이 아닌 문자로 행을 알파벳순으로 정렬하는 방법은 무엇입니까?

이렇게 알파벳순으로 정렬해야 해요

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 sorthttps://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/sort.html

편집하다질문에 추가된 새로운 요구 사항을 고려하십시오.

정렬 키는 물결표( ~) 문자 뒤부터 줄 끝까지의 모든 항목 또는 첫 번째 물결표와 두 번째 물결표 사이의 모든 항목입니다. 이는 해당 Youtube부분이 정렬 키에 포함된다는 의미입니다. 물론 이는 동일 foo"하거나 bar"부분이 있는 라인 쌍이 있는 경우에만 관련이 있습니다.

대소문자를 구분하지 않고 정렬하려면 옵션을 추가해야 합니다 -f.

관련 정보