전체 텍스트 파일에서 한 줄에 나타나는 모든 .after]를 제거합니다.

전체 텍스트 파일에서 한 줄에 나타나는 모든 .after]를 제거합니다.

각 줄 뒤에 있는 .]를 삭제해야 하는 파일이 있습니다.

예를 들어

xyz[1.2]35.23
xyz[1.2.3]35.234

출력은

xyz[1.2]3523
xyz[1.2.3]35234

답변1

가장 오른쪽 지점 뒤의 지점을 삭제하려면 ]:

sed -e :1 -e 's/\(][^]]*\)\.\([^]]*\)$/\1\2/;t1'

또는:

awk -F']' -vOFS=']' 'NF>1 {gsub(/\./,"",$NF)};1'

또는:

perl -pe 's/.*\]\K.*/$&=~s|\.||gr/e'

삭제 후에는 오른쪽에 다른 것이 있는지 여부는 ]중요하지 않습니다 .]

sed -e :1 -e 's/\(].*\)\./\1/;t1'

또는:

perl -pe 's/.*?\]\K.*/$&=~s|\.||gr/e'

답변2

그리고 perl:

$ perl -pe 's/(?<=])\d+\K\.//g' file
xyz[1.2]3523
xyz[1.2.3]35234

관련 정보