특정 문자(이 경우 _) 앞뒤의 문자를 보존하고 싶습니다. cut과 sed를 시도했는데 문자 앞이나 뒤 부분을 삭제했습니다.
내 출력은 다음과 같습니다
7_38 98.97
7_37 98.59
7_36 98.79
7_35 98.93
7_34 98.57
7_33 99.70
7_32 99.13
"_" 뒤의 숫자를 제거하고 두 번째 열을 다음과 같이 출력으로 유지하고 싶습니다.
7 98.97
7 98.59
7 98.79
7 98.93
7 98.57
7 99.70
7 99.13
답변1
_
그 뒤에 공백이 아닌 모든 문자를 제거하려는 것 같습니다 .
sed 's/_[^[:blank:]]*//' < file
답변2
awk를 사용해 보셨나요? 이렇게 하면 가고 싶은 곳으로 갈 수 있습니다.
awk '/_/ {gsub("_.*","",$1); print}' < input.txt
답변3
awk를 사용하세요아들기능:
awk '{ sub("_.*","",$1) }1' OFS='\t' file
산출:
7 98.97
7 98.59
7 98.79
7 98.93
7 98.57
7 99.70
7 99.13
답변4
여러 문자를 필드 구분 기호(공백 및 밑줄)로 사용하고 필드 1과 3만 인쇄할 수 있습니다.
awk -F'_| +' '{print($1,$3)}' file