단일 행의 수평 꼬리를 분할하는 방법

단일 행의 수평 꼬리를 분할하는 방법

주어진

파일 1

1:b:c:4

파일 2

1:3:47:8:aa:2

파일 3

1:4:5:8:9:11:aaaaa:2:3:4:88:9:10

":" 다음 줄의 끝을 찾고 싶습니다. 각 파일에는 항상 한 줄만 포함됩니다.

예를 들어

$ command file1
4
$ command file2
2
$ command file3
10

답변1

sed 's/.*://' file*

위 명령은 sed각 줄의 마지막 줄까지 모든 것을 삭제합니다.::

답변2

awk -F: '{print $NF}' file*

이 awk 명령은 마지막 열(:(콜론)으로 구분)을 인쇄합니다.

답변3

사용 bash:

line=$(<file)
echo "${line##*:}"
  1. file변수를 읽습니다 line.
  2. echo변수를 선택하고 ##접두사 패턴과 가장 일치하는 항목을 제거합니다( ).*:


그리고 grep:

grep -ho '[^:]*$' file*

-o입력 파일이 있는 경우에만 옵션(일치하는 부분만 인쇄)이 필요합니다. -h각 일치 전에 파일 이름 인쇄를 억제합니다 .

관련 정보