次のようにテキストファイルから行を読み取る単純な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のどれがこれらの作業に適していますか?
ベストアンサー1
using sed -
echo "abcd 1234 -type 53 efgh 5678" |sed -r 's/^.*-type\s+([0-9]+).*$/\1/'
53
ここで使用されている行を$ lineに置き換えて変数に割り当てます。