다음 형식의 구성 파일이 있습니다
# ra y 1000000 \x2e\x72\x61\xfd
# ost y 500000000 \x21\x42\x44\x4e
# java y 1000000 \xca\xfe\xba\xbe
이것이 내가 하고 싶은 일이다:
- 찾다
ra
,ost
,java
- 만약 있다면상표
ra
,ost
, , 전후의 시작 부분을java
제거합니다 .#
나는 집중한다상표ra
구성 파일에는 다른 텍스트도 포함되어 있기 때문에 , ost
, 언급이 있을 수 있지만 java
모두 앞뒤에 공백으로 구분되며 단락에서 언급되므로 이 줄의 주석 처리를 제거하고 싶지 않습니다. 그러므로 나는 찾아야 한다.상표
강철 드라이버이미 답변했습니다. 편집은 내가 작업 중인 파일의 일부를 언급하라는 요청에 따라 이루어집니다.존 구피.
파일은 다음과 같습니다
# Scalpel configuration file
...
# Scalpel can read Foremost 0.69 configuration files, but Scalpel
...
# Real Audio Files
# ra y 1000000 \x2e\x72\x61\xfd
# MISCELLANEOUS
# java y 1000000 \xca\xfe\xba\xbe
# Outlook files
# ost y 500000000 \x21\x42\x44\x4e
이 구성 파일에는 작업할 수 있는 파일 형식의 이름 목록이 언급되어 있지 않지만 다음과 같은 이름이 언급된 경우
# 메스는 다음에 적합합니다.당기다 에르스텟 자바
그럼 스틸드라이버님의 답변은 완벽하네요
답변1
sed '/^#\t\(ra\|ost\|java\)\t/ s/^#//' file
또는 (확장 정규식이 지원되는 경우) 일부 이스케이프를 피할 수 있습니다
sed -E '/^#\t(ra|ost|java)\t/ s/^#//' file