문자열 내부의 텍스트 찾기 및 추출

문자열 내부의 텍스트 찾기 및 추출

데이터 파일의 문자열 패턴 내부에서 텍스트를 찾아 쉘이나 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"'

관련 정보