이름을 바꿀 파일이 여러 개 있습니다.
leng-1494-001
leng-1464-002
leng-2414-004
leng-7894-005
leng-1323-006
이름을 바꾸고 싶어요
ferr-1494-001
ferr-1464-002
ferr-2414-004
ferr-7894-005
ferr-1323-006
ferr 및 leng을 처리하는 방법을 알고 있지만 sed를 사용하여 6~10자(1464,7894)를 빈 줄이나 aaaa bbbb cccc와 같은 문자열로 바꾸는 방법은 무엇입니까? Awk 또는 Perl 솔루션도 환영합니다. 감사해요
답변1
sed를 사용하세요:
sed -r 's/(.*[a-zA-Z]{4}\-)([0-9]{4})/\1aaaa/g'
답변2
POSIX적으로:
$ sed -e 's/-[^-]*-/-/' file
leng-001
leng-002
leng-004
leng-005
leng-006
답변3
Perl 하위 문자열 함수를 사용하여 솔루션을 찾았습니다.
echo leng-1323-006|perl -lpe 'substr($_, 5, 5) = "";'
올바르게 반환
leng-006
다음을 포함하여 위치 5에서 5개의 잘못된 문자를 제거했습니다.