모든 새 줄에서 첫 번째 문자의 점만 제거합니다.

모든 새 줄에서 첫 번째 문자의 점만 제거합니다.

나는 모든 새 줄에서 도트 문자로 시작하는 경우 도트 문자를 제거하고 싶습니다.

example:
test.example.com
123.example.com
999.example.com
.asd.example.com
.1.1.example.com

would become:
test.example.com
123.example.com
999.example.com
asd.example.com
1.1.example.com

Bash에서 이 작업을 수행하는 쉬운 방법이 있습니까?

답변1

"in bash"의 의미에 따라 다릅니다. sed정규식 기반 텍스트 편집기나 유사한 정규식 편집기에서 수행하는 것은 간단합니다.

$ sed 's/^[.]//' example
test.example.com
123.example.com
999.example.com
asd.example.com
1.1.example.com

마침표 주위의 괄호는 정규 표현식 해석을 방지합니다(단일 선행 문자 제거). 백슬래시 이스케이프를 사용하여 s/^\.//리터럴로 만들 수도 있습니다..

답변2

데이터가 있는 파일을입력.txt

다음 명령을 사용하면 정규식을 사용하여 텍스트를 바꿀 수 있습니다. 입장($명 sed)더 많은 정보를 알고 싶으시면

$ sed 's/^\.//' input.txt

그러면 터미널 출력에 결과가 인쇄됩니다.

원하는 경우 다음을 사용하여 출력을 파일로 리디렉션할 수 있습니다.

$ sed 's/^\.//' input.txt > output.txt

관련 정보