bash에서 cut -f가 무엇을 의미하는지 잘 모르겠습니다.

bash에서 cut -f가 무엇을 의미하는지 잘 모르겠습니다.
STATUS='yes'
FOO='pretty'
BAR='purple'
for var in STATUS FOO BAR; do
#    declare -p $var | cut -d ' ' -f 3- >> variable.file
        declare -p $var >> variable.file
done

반품

declare -- STATUS="yes"
declare -- FOO="pretty"
declare -- BAR="purple"
  1. -f옵션이 무엇을 의미하는지 모르시나요 ? 첨부하지 않으면 -f"바이트, 문자 또는 필드 목록을 지정해야 합니까?"라는 메시지가 나타납니다.수동설명하다

-f동작이나 표시를 함수 이름과 정의로 제한

  1. cut -d ' '3개의 필드로 나눕니다. declare, --, STATUS="yes"?
  2. 2가 정확하면 3-STATUS="yes" FOO="pretty" BAR="purple"인 마지막 필드를 얻게 됩니다.

전반적으로 point1에 대해서는 결과가 point2, point3과 일치하기 때문에 확신할 수 없지만, 내 point2, point3 해석이 올바른지 확인하고 싶습니다.

답변1

cut, 를 사용하여 -f추출할 필드를 지정합니다. "필드"는 구분 기호(귀하의 경우 문자)로 구분됩니다 Space. 각각은 Space필드를 구분하므로 데이터에 여러 Space문자가 있는 경우( 를 사용하여 확인 od -bc your.file) 에 따르면 여러 개의 "필드"가 있습니다 cut.
예를 들어, 다른 도구에는 awk '{print $3} your.file"필드"에 대한 개념이 다릅니다.
그건 그렇고, 귀하의 man페이지 참조는 에서와 같이 스위치에서 온 것이 아닙니다 man cut. -f이는 전역적인 의미가 없습니다. 즉, 프로그램마다 다른 의미를 갖습니다.

관련 정보