문자열의 하위 문자열 추출

문자열의 하위 문자열 추출

3ccc2392-45ed-11e7-bc98-4061862b8d34:1-35942477다음 문자열에서 어떻게 추출할 수 있나요 ?

mysql-bin.000025    217141189   3ccc2392-45ed-11e7-bc98-4061862b8d34:1-35942477,

그것은 통해 얻는다line=$(head -n 1 ./xtrabackup_binlog_info)

답변1

이와 같이 awk:

$ line="$(head -n 1 ./xtrabackup_binlog_info)"

$ echo "$line" | awk -F'[[:blank:]]+|,' '{ print $3 }'
3ccc2392-45ed-11e7-bc98-4061862b8d34:1-35942477

답변2

사용 awk:

awk 'BEGIN{ FS="[,[:blank:]]+"; }; { print $(NF-1); exit; }'

답변3

echo $line | awk -F '[ ,]' '{print $3}'

echo값을 인쇄하는 데 사용된 $line다음 awk구분 기호를 공백이나 a로 설정 하고 ,세 번째 필드를 인쇄하는 데 사용됩니다.

산출:

3ccc2392-45ed-11e7-bc98-4061862b8d34:1-35942477

head이것을 수행하는 대신 을 사용하면 다음을 echo $line통해 출력이 달성됩니다.

head -n 1 ./xtrabackup_binlog_info | awk -F '[ ,]' '{print $8}'

문제에 어떤 방법을 사용하고 싶은지 명확히 하는 것이 중요합니다.

관련 정보