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}'
문제에 어떤 방법을 사용하고 싶은지 명확히 하는 것이 중요합니다.