파일.dat
No Name Title Publisher Edition
1001 Programming in Java By BPB Balaguruswamy BPB Second
1002 Computer Networks Tanenbaum Pearson Fifth
1003 Operating Systems Chaudhari Jaico First
- 아니요: 번호 (4) – 각 도서를 고유하게 식별합니다.
- 제목: 영숫자(30)
- 작성자: 캐릭터(20)
- 출판사 : 사람들(20)
- 버전: 캐릭터(9)
BPB
모든 출판사 이름을 ->로 바꾸고 싶습니다 .THM
게시자 열 아래에서만. 를 사용하면 sed
대체할 뿐만 아니라발행자칼럼뿐만 아니라이름기둥. 나는 단지 sed
사이에서만 일하고 싶다55번째 문자도착하다74번째 문자
다음을 사용하여 문자 55-74를 추출했습니다.
while IFS= read -r line; do
echo ${line:55:20}
done < $file
특정 20자만 바꾸려면 어떻게 해야 하나요?
미리 감사드립니다
답변1
그것은 다음과 같습니다:
게시자 열 전체를 바꿉니다( BPB
뒤에 공백 17개).
sed 's/^\(.\{55\}\)BPB\( \{17\}\)/\1THM\2/'
게시자 열에서 문자열이 나타날 때마다 BPB
문자열을 바꾸려면 다음을 수행하세요 .THM
sed '
:1
s/^\(.\{55,72\}\)BPB/\1THM/
t1'