Shell-Script

如何匹配字元串和空格之間的文本

  • December 5, 2016

我有一個簡單的 bash 腳本,它從文本文件中讀取行,如下所示:

#!/bin/bash
FILE=$1
while read line; do

done < $FILE

我想匹配字元串“-type”和空格之間的文本,所以在我的行中我有:

random text -type 53 random text

我只想提取“53”並將其分配給變數type_number。這些工具 cut、sed、grep 或 awk 中的哪一個適合此類任務?

using sed -

echo "abcd 1234 -type 53 efgh 5678" |sed -r 's/^.*-type\s+([0-9]+).*$/\1/'
53

用 $line 替換此處使用的行並分配給變數

#!/bin/bash
FILE=$1
while read line; do
type_number=`echo $line |awk '{for(i=1;i<=NF;i++){if($i=="-type")print $(i+1)}}'`
#here you can use your $type_number
done < $FILE

引用自:https://unix.stackexchange.com/questions/328068