다음 형식의 텍스트가 포함된 파일이 있습니다.
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
[^\\]