csv
길이가 다른 줄이 있는 파일이 있습니다 . 그러나 모두 한 쌍의 중괄호로 둘러싸인 숫자로 끝납니다. 예를 들어,
........{5}
........{16}
예를 들어 숫자와 중괄호를 제거하거나 큰따옴표로 바꾸고 싶습니다. 결과는 다음과 같습니다.
........
........
또는
........"
........"
고정 길이가 있거나 줄 끝에 동일한 문자열이 있는 줄에 대한 솔루션만 찾았습니다.
어떤 아이디어가 있나요?
답변1
제거하려면 GNU를 사용하십시오 sed
.
sed 's/{[0-9]\+}$//' file.csv
표준 동등:
sed 's/{[0-9]\{1,\}}$//' file.csv
또는:
sed 's/{[0-9][0-9]*}$//' file.csv
삭제 대신 교체하려면 //
다음으로 교체하세요./"/
"
답변2
{..}
이 GNU sed 명령을 사용하여 마지막 명령을 큰따옴표로 바꾸십시오 .
sed -r 's/^(.*)\{.*\}$/\1"/g' file
예:
$ cat file
........{5}
........{16}
avhjjk{23}
$ sed -r 's/^(.*)\{.*\}$/\1"/g' file
........"
........"
avhjjk"
통과하고 awk
,
$ awk '{gsub (/{.*}$/,"\""); print}' file
........"
........"
avhjjk"