이스케이프되지 않은 공간으로 구분된 컷?

이스케이프되지 않은 공간으로 구분된 컷?

다음 형식의 텍스트가 포함된 파일이 있습니다.

User\ Name My\ Password

이는 실제로 열이 이스케이프된 공백을 포함하는 2열 파일입니다.

cut -d' ' -f2생산 Name하지만 나는 생산하고 싶다 My Password.

cut이스케이프되지 않은 공백을 기준으로만 사용하고 구분할 수 있습니까 ? 그렇지 않은 경우 어떤 대체 명령을 사용할 수 있습니까?

답변1

나는 GNU를 제안하고 싶다grep접근하다:

샘플 input.txt:

User\ Name My\ Password
first\ field second\ field

두 번째 필드를 잘라냅니다.2열파일:

grep -Po '[^\\]\x20\K.*' input.txt

출력:

My\ Password
second\ field

아니면 같은sed:

sed 's/.*[^\\]\x20\(.*\)/\1/' input.txt

----------

중요한 정규식 패턴 부분은 백슬래시를 이스케이프 처리하는 것을 제외하고 앞에 문자가 있으면 [^\\]\x20공백(공간 16진수 코드)과 일치한다는 것 입니다.\x20[^\\]

관련 정보