문자열에서 텍스트 찾기 및 추출

문자열에서 텍스트 찾기 및 추출

데이터 파일에서 문자열 패턴 내의 텍스트를 찾아 쉘이나 AppleScript를 사용하여 텍스트 목록으로 추출하고 싶습니다.

XML 내부의 예:

node file="source_files/ (var1) .mp3"

HMTL의 또 다른 예:

src="http:// (example.com) /dir/ (var2) .txt"

원하는 출력:

1.1 source_files/example1.mp3
1.2 source_files/blah.blah

2.1 http://example.com/dir/example2.txt
2.2 http://example.com/dir/blah.blah

제 질문은 텍스트 파일에서 이전, 이후 또는 둘 다에 특정 문자 패턴이 있는 일련의 문자열을 어떻게 검색하고 찾고 추출할 수 있느냐는 것입니다.

답변1

다음 명령을 사용하는 것은 grep어떻습니까 ?

grep -Po '(?<==")[^"]+(?=")'

그러면 등호 뒤에 나타나는 큰따옴표 문자열이 추출됩니다. 이것이 실제로 작동하는 것입니다:

user@host:~$ echo 'node file="source_files/example1.mp3"' \
| grep -Po '(?<==")[^"]+(?=")'

source_files/example1.mp3

user@host:~$ echo 'src="http://example2.com/dir/example2.txt"' \
| grep -Po '(?<==")[^"]+(?=")'

http://example2.com/dir/example2.txt

답변2

grep -F 'node file="source_files/example1.mp3"'

grep -F 'src="http://example2.com/dir/example2.txt"'

관련 정보