삼중 슬래시를 절단 구분 기호로 사용하는 방법은 무엇입니까?

삼중 슬래시를 절단 구분 기호로 사용하는 방법은 무엇입니까?

각 항목이 다음과 같은 테이블이 있습니다.

coagulation factor VIII-associated 1 /// coagulation factor VIII-associated 2 /// coagulation factor VIII-associated 3

사용하고 싶지만 cut -d/// -f2 myfile.txt오류가 발생합니다.

잘라내기: 잘못된 구분 기호

구분 기호 주위에 작은따옴표나 큰따옴표를 사용할 때도 마찬가지입니다.

cut -d'///' -f2 myfile.txt

cut -d"///" -f2 myfile.txt

어떻게든 슬래시를 피해야 합니까? 그렇다면 컷의 이스케이프 문자는 무엇입니까? 문서에는 해당 정보가 없는 것 같습니다. \를 시도해 보았습니다.

답변1

구분 기호가 다음과 같은 경우하나의 고정 문자를 제외한 모든 것, 그럼 cut그렇지잘못된도구.

대신 사용하십시오 awk.

세 가지 필드가 있는 이 테스트 파일을 고려해 보세요.

$ cat file
one///two/2//two///three

두 번째 필드와 두 번째 필드만 인쇄하려면:

$ awk -F/// '{print $2}' file
two/2//two

답변2

다른 답변은 괜찮지만 cut필요에 따라 현재 구분 기호를 바꿔 사용할 수도 있습니다. 예를 들면 다음과 같습니다.

sed "s/\/\/\//\//g" myfile.txt | cut -d/ -f2

답변3

구분 기호는 다음과 같습니다.cut항상 단일 문자이므로 "///"를 구분 기호로 지정할 수 없습니다.

대신 "/"를 구분 기호로 사용하고 추가 필드 수를 계산할 수 있습니다.

cut -d/ -f4 myfile.txt

(필드 2와 3은 "///"의 슬래시 사이에 있는 빈 필드입니다.)

관련 정보