각 줄의 첫 번째 부분을 콜론으로 제거합니다.

각 줄의 첫 번째 부분을 콜론으로 제거합니다.

그래서 첫 번째 콜론까지 모든 것을 제거하려는 텍스트 파일이 있습니다. 예를 들어, 이것이 입력이라면

0000007ba9ec6950086ce79a8f3a389db4235830:9515rfsvk
000000da2a12da3fbe01a95bddb8ee183c62b94d:letmein2x
000000edf3179a1cf4c354471a897ab7f420bd52:heychudi:rbhai
000000f636f0d7cbc963a62f3a1bc87c9c985a04:cornetti
0000010a15f5b9315ef8e113f139fa413d1f2eb2:3648067PY128

그러면 이것이 출력되어야합니다

9515rfsvk
letmein2x
heychudi:rbhai
cornetti
3648067PY128

3행의 두 번째 콜론은 그대로 남아 있으며 각 행의 시작 부분부터 첫 번째 열까지의 위치만 제거해야 합니다.

grep이나 awk를 사용하여 이 작업을 수행하는 빠른 방법이 있습니까?

답변1

그리고cut

cut -d: -f2- file

-d-f2-두 번째 필드부터 마지막 ​​필드까지 구분 기호와 평균을 설정합니다.

답변2

sed를 사용하세요:

sed 's/[^:]*://' input.txt

즉, 0개 이상의 콜론이 아닌 문자와 그 뒤에 콜론이 오는 순서를 일치시키고 아무 것도 대체하지 않습니다.

답변3

이는 grep(PCRE)와 함께 사용할 수 있습니다.

 grep -Po "(?<=:).*" file

산출:

9515rfsvk
letmein2x
heychudi:rbhai
cornetti
3648067PY128

답변4

첫 번째 항목이 :항상 파일의 41번째 위치에 있는 경우 다음을 사용할 수 있습니다.

colrm 1 41 <file

또는

cut -c42- file

열의 위치를 ​​먼저 결정해야 하기 때문에 가장 편리한 옵션은 아니지만 최소한 구분 기호 없이도 작동합니다.

관련 정보