test.txt
그래서 다음 줄을 포함하는 파일이 있습니다 .
1.The Home Depot (Ranked 28): home improvement; Atlanta, GA.
2.United Parcel Service (Ranked 48): shipping; Atlanta, GA.
3.The Coca-Cola Company (Ranked 62): soft drinks; Atlanta, GA.
4.Delta Air Lines, Inc. (Ranked 68): airline; Atlanta, GA.
5.Aflac, Incorporated (Ranked 135): insurance; Columbus, GA.
6.The Southern Company (Ranked 162): energy; Atlanta, GA.
7.Genuine Parts Company (Ranked 183): replacement parts; Atlanta, GA.
8.First Data Corporation (Ranked 249): payment processing;Atlanta,GA.
9.WestRock (Ranked 251): corrugated and consumer Norcross, GA
10.HD Supply Holdings, Inc. (Ranked 320): industrial , Atlanta GA
11.Suntrust Banks, Inc. (Ranked 329): banking; Atlanta, GA.
12.Mohawk Industries, Inc. (Ranked 338): flooring manufacturer; Calhoun, GA.
내가 사용한 명령은 sed 's/[0-9]*[.]//' test.txt | awk -F"(" '{print NF,$1}' | sort
회사 이름만 알파벳순으로 제공합니다.
Aflac, Incorporated
Delta Air Lines
Genuine Parts Company
First Data Corporation
HD Supply Holdings
Mohawk Industries
Suntrust Banks
The Coca-Cola Company
The Home Depot
The Southern Company
하지만 회사 이름뿐만 아니라 전체 행도 표시되기를 원합니다.
답변1
(Take 2) 파일 내용이 다음과 같다고 가정합니다.
1.The Home Depot (Ranked 28): home improvement; Atlanta, GA.
2.United Parcel Service (Ranked 48): shipping; Atlanta, GA.
3.The Coca-Cola Company (Ranked 62): soft drinks; Atlanta, GA.
4.Delta Air Lines, Inc. (Ranked 68): airline; Atlanta, GA.
정렬하려는 데이터는 점 뒤에 나타나므로 점을 구분 기호로 명시적으로 설정한 -t .
다음 두 번째 필드를 정렬할 수 있습니다.
$ sort -t. -k2 test.txt
4.Delta Air Lines, Inc. (Ranked 68): airline; Atlanta, GA.
3.The Coca-Cola Company (Ranked 62): soft drinks; Atlanta, GA.
1.The Home Depot (Ranked 28): home improvement; Atlanta, GA.
2.United Parcel Service (Ranked 48): shipping; Atlanta, GA.
(질문에는 선행 공백이 표시되어 있습니다. 여기에 복사했지만 실제로 있는지 여부는 정렬에 중요하지 않습니다.)