複数の行を含む変数の 2 つの文字列の間の内容を取得しました。各行が数字で始まるかどうかを確認したいのですが、そうであればカウンターをインクリメントし、その数字の後と次の数字の前に文字列が必要です。以下を含む変数 $line があるとします。
1. Create
create a volume.
2. destroy
destroy a volume.
等々。var1 で 10 回の操作、var2 で数値の後に文字列、var3 で作成、破棄 (など) の後にテキストを取得したいと考えています。シェルスクリプトでの扱い方。前もって感謝します
コードの追加:
line=$(sed -n '/Description/,/properties/p' readme.txt)
echo "$line"
sed -n -e '/^[0-9]/{s/\([0-9]*\).*/\1/;h;n;s/^ *//;H;x;s/\n/ /p;d;}' <<< "$line"
operations=0
while read -r n str ;
do
let operations+=1
printf '%d, %d, %s\n' "$operations" "$n" "$str"
done < <(sed -n -e '/^[0-9]/{s/\([0-9]*\).*/\1/;h;n;s/^ *//;H;x;s/\n/ /;p;d;}' <<<"$line")
printf "Opertions = %d\n' "$operations"
done
$line には、必要な操作を実行する必要がある説明とプロパティの間のコンテンツが含まれています。