필드 구분 기호-명령 문자 구분 문제

제임스

html 소스 코드를 구문 분석하려고합니다. 내 예에서는 그냥 반향하고 있습니다. 그러나 실제로 파일에서 html을 읽고 있습니다.

다음은 구문 적으로 작동하는 약간의 코드입니다.

echo "<td>Here</td> some dynamic text to ignore <garbage> is a string</table>more junk" |
awk -v FS="(<td>|</td>|<garbage>|</table>)" '{print $2, $4}'

FS 선언에서 잘 작동하는 4 개의 구분 기호를 만들고 두 번째 및 네 번째 필드를 출력합니다.

그러나 실제로 사용해야하는 세 번째 필드 구분 기호에는 문자 그대로 awk 명령 문자가 포함되어 있습니다.

')">

위의 문장을 다음과 같이 변경하면

echo "<td>Here</td> some dynamic text to ignore ')\"> is a string</table>more junk" |
awk -v FS="(<td>|</td>|')\">|</table>)" '{print $2, $4}'

나는 하나, 모두, 그리고 \ 문자와 문제가되는 문자열의 모든 조합을 이스케이프하려고했습니다. 그러나 아무것도 작동하지 않습니다.

에드 모튼

이것은 당신이 찾고있는 것일 수 있습니다.

$ echo "<td>Here</td> some dynamic text to ignore ')\"> is a string</table>more junk" |
awk -v FS='(<td>|</td>|\047\\)">|</table>)' '{print $2, $4}'
Here  is a string

쉘에서 문자열 내용을 쉘에 노출시키기 위해 큰 따옴표를 사용할 필요가 없다면, 예를 들어 쉘이 변수를 확장하도록 허용하지 않는 한 항상 작은 따옴표 안에 문자열 (및 명령 줄 스크립트)을 포함하십시오.

쉘 규칙에 따라 작은 따옴표로 구분 된 문자열 내에 작은 따옴표를 포함 수 없으므로'foo'bar' (백 슬래시가 해당 중간 문자열을 이스케이프하도록 작동하지 않음 ') 작은 따옴표에서 뒤로 이동하여 작은 따옴표를 제공 한 다음 오십시오. 예를 들어 작은 따옴표를 원할 때마다 'foo'\''bar'8 진수 이스케이프 시퀀스를 사용하거나 사용합니다 \047(오류가 발생하기 쉬우므로 16 진수를 사용하지 마십시오) 'foo\047bar'. 그런 다음 )두 번 이스케이프해야합니다. awk가 문자열을 정규 표현식으로 변환 할 때 한 번, 그리고 awk가이를 정규 표현식으로 사용할 때 다시 한 번합니다.

문자열 주위에 큰 따옴표를 사용했다면 셸이 문자열을 구문 분석 할 때 추가 이스케이프가 필요했지만 셸이 문자열을 구문 분석하는 것을 차단하므로 문자열을 작은 따옴표로 묶을 때는 필요하지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

구분 기호를 인식하기위한 awk 명령 문제

분류에서Dev

`paste` 명령의 구분 기호로 사용되는 문자열

분류에서Dev

nasm 오류 : 구문 분석기 : 명령이 필요합니다.

분류에서Dev

MySql 구분 기호 문제

분류에서Dev

명령 줄 도구의 정적 분석기 문제

분류에서Dev

구분 기호로 문자열 분할

분류에서Dev

구분 기호로 문자열 분할

분류에서Dev

구분 기호로 문자열 분할

분류에서Dev

유니 코드 구분 기호로 문자열 분할?

분류에서Dev

필드 구분 기호의 와일드 카드 문자-.csv 파일 읽기

분류에서Dev

구분 기호로 분할 및 문자열 연결 문제

분류에서Dev

구분 기호로 셀 구문 분석

분류에서Dev

bash에서 특정 구분 기호로 구분 된 문자열의 마지막 필드 가져 오기

분류에서Dev

구분 기호로 구분 된 문자열 부분 추출

분류에서Dev

awk를 사용하여 여러 문자 구분 기호로 필드를 구분하십시오.

분류에서Dev

필드에서 구분 기호를 이스케이프하면서 구분 문자 변환

분류에서Dev

사용자 지정 레코드 구분 기호 및 필드 구분 기호로 텍스트 출력 형식을 지정하는 Awk 명령

분류에서Dev

NodeJS 용 명령 문자열 구문 분석 도구

분류에서Dev

구분 기호 내의 문자열 부분 삭제

분류에서Dev

PHP에서 구분 기호 뒤의 문자열 부분 제거

분류에서Dev

awk 또는 sed 명령을 사용하여 여러 구분 기호를 사용하여 문자열 자르기

분류에서Dev

소수점 구분 기호 문제

분류에서Dev

1 Verilog 구현 및 동기화 문제에서 분기의 명령 지연

분류에서Dev

Azure Synapse-문자열 구분 기호

분류에서Dev

AWK 다중 문자 구분 기호

분류에서Dev

명령 잘라 내기 오류 : 구분 기호는 단일 문자 여야합니다.

분류에서Dev

잘라 내기 명령 오류 : 구분 기호는 단일 문자 여야합니다.

분류에서Dev

명령 줄 : 두 개의 다른 구분 기호 사이에 하위 문자열 가져 오기

분류에서Dev

구문 분석 문제, 폴더로드시 예기치 않은 문자

Related 관련 기사

  1. 1

    구분 기호를 인식하기위한 awk 명령 문제

  2. 2

    `paste` 명령의 구분 기호로 사용되는 문자열

  3. 3

    nasm 오류 : 구문 분석기 : 명령이 필요합니다.

  4. 4

    MySql 구분 기호 문제

  5. 5

    명령 줄 도구의 정적 분석기 문제

  6. 6

    구분 기호로 문자열 분할

  7. 7

    구분 기호로 문자열 분할

  8. 8

    구분 기호로 문자열 분할

  9. 9

    유니 코드 구분 기호로 문자열 분할?

  10. 10

    필드 구분 기호의 와일드 카드 문자-.csv 파일 읽기

  11. 11

    구분 기호로 분할 및 문자열 연결 문제

  12. 12

    구분 기호로 셀 구문 분석

  13. 13

    bash에서 특정 구분 기호로 구분 된 문자열의 마지막 필드 가져 오기

  14. 14

    구분 기호로 구분 된 문자열 부분 추출

  15. 15

    awk를 사용하여 여러 문자 구분 기호로 필드를 구분하십시오.

  16. 16

    필드에서 구분 기호를 이스케이프하면서 구분 문자 변환

  17. 17

    사용자 지정 레코드 구분 기호 및 필드 구분 기호로 텍스트 출력 형식을 지정하는 Awk 명령

  18. 18

    NodeJS 용 명령 문자열 구문 분석 도구

  19. 19

    구분 기호 내의 문자열 부분 삭제

  20. 20

    PHP에서 구분 기호 뒤의 문자열 부분 제거

  21. 21

    awk 또는 sed 명령을 사용하여 여러 구분 기호를 사용하여 문자열 자르기

  22. 22

    소수점 구분 기호 문제

  23. 23

    1 Verilog 구현 및 동기화 문제에서 분기의 명령 지연

  24. 24

    Azure Synapse-문자열 구분 기호

  25. 25

    AWK 다중 문자 구분 기호

  26. 26

    명령 잘라 내기 오류 : 구분 기호는 단일 문자 여야합니다.

  27. 27

    잘라 내기 명령 오류 : 구분 기호는 단일 문자 여야합니다.

  28. 28

    명령 줄 : 두 개의 다른 구분 기호 사이에 하위 문자열 가져 오기

  29. 29

    구문 분석 문제, 폴더로드시 예기치 않은 문자

뜨겁다태그

보관