문제

AWK의 필드를 결합하기 쉬운 곳이 있습니까? 구체적으로, 나는 다음과 같은 줄이 있습니다.

1,2,some text
3,4,some text, but it has commas in it, annoyingly

두 숫자를 처음 두 필드로 추출하고 싶지만 모든 텍스트 (쉼표와 모두)가 세 번째 필드가되기를 원합니다. 그렇게 할 방법이 있습니까?

내 기본적인 awk 호출은 다음과 같습니다.

awk -F\, '{print $1"|"$2"|"$3}' file.txt

첫 번째 줄에는 잘 작동하지만 두 번째 줄의 텍스트에서 쉼표에서 멈 춥니 다.

도움이 되었습니까?

해결책

아마도:

awk '{for (i=0;i<2;i++) sub(",", "|", $0); print}' file.txt

다른 팁

당신은 sed를 사용하여 그것을 할 수 있습니다.

cat file.txt | sed 's/\(.?*\),\(.?*\),/\1|\2|/'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top