find 명령을 사용하여 특정 형식의 모든 파일을 찾습니다. 그 명령은 황금색이었습니다. 그 출력을 awk 명령으로 파이핑 중이며 마지막 밑줄을 필드 구분 기호로 사용하고 싶습니다. 문제는 파일이있는 경로에 따라 사실 앞에 하나 또는 두 개의 밑줄이있을 수 있다는 것입니다.문자 필드의 최근 항목 구분 기호 AWK
find . -regex ".*prob[0-9]*_.*" | awk 'BEGIN { FS = "_.*$" } { print $1 " " $2 }'
나는 무엇을 내 필드 분리의 정규 표현식 잘못 것은, 그것은 밑줄을 분리하는 생각과 어떤 다음, 단지 하나의 문자 자체를 지정하는 거리가 얻는다. 또한 어떻게 문자의 마지막 발생에 필드 구분 기호를 사용합니까? , 주름 디렉토리뿐만 아니라 밑줄을 가질 수있는 내가 할 Suppress output to StdOut when piping echo
파일 일반적으로 같은 수 있습니다 :
이
다소 앞서 묻는 질문의 연장이다 /은/디렉토리/probXXXXX_XX여기서 X는 임의의 정수이다.
해결 방법 나는 모든 밑줄을 구분하고 모든 열을 인쇄하는 방법을 생각해 봤지만 위의 방법으로 작업하는 것이 좋겠다.
현재 수행중인 작업을 감안할 때'FS'에 대한 할당을'_'으로 수정한다고 어떻게 생각하십니까? – geekosaur
어땠어? 나는 FS = "_"를 사용할 수 있지만, 그 다음에는 여분의 밑줄이 분리되어 원하지 않는 컬럼이 생성됩니다. 나는 단지 마지막 밑줄을 분리하고 싶다. – Wuzseen
나머지 답변은 아래를 참조하십시오. – geekosaur