나는 데이터를 가지고 있습니다 :
33305:1 0.045
33406:1 0.432
22294:1 0.345
28364:1 0.354
:1
각 행의 첫 번째 열에서 삭제 하고 싶습니다 . 이를 위해 gsub를 사용해야 합니까?
답변1
:1
필드 1의 싱글을 바꾸려면:
awk '{sub(":1", "", $1); print}' < input
필드 1에서 마지막 두 문자를 제거하려면 다음을 수행하십시오.
awk '{$1=substr($1, 1, length($1)-2); print}' < input
이것격자기능이 대체됩니다모든문자열의 인스턴스입니다. 예제 입력에는 해당 문자열이 하나만 있으므로 sub를 사용하는 것은 gsub를 사용하는 것과 같습니다.
답변2
귀하의 간단한 경우 -sed충분할 것입니다:
sed 's/:1//' file
답변3
with 하위 테마의 작은 변형 awk
- :
필드 구분 기호 로 사용되며 1 0.045
열 2가 됩니다. 이제 주인공을 제거하기만 하면 됩니다.
$ awk -F':' '{sub(/^[[:digit:]]/," ",$2);print}' input.txt
33305 0.045
33406 0.432
22294 0.345
28364 0.354