同じ文字列が1回または複数回検索され、次の行を編集します。

同じ文字列が1回または複数回検索され、次の行を編集します。

私のファイルに同じ文字列が複数回表示されることがあります。ファイルから1つ以上の一致を検索した後、次の行に移動してその行の値を保持しますが、ファイルの残りの部分はそのまま残り、最後に値を追加する必要があります。これが私が持っているものです:

Line: 3, 0, "General Thunderstorm Risk"
 37.74, -87.17
 36.22, -85.50
 34.80, -85.41
 34.01, -85.72
 33.14, -86.64
 32.45, -88.05
 31.88, -89.68
 31.38, -91.39


Line: 3, 0, "General Thunderstorm Risk"
 29.04, -94.27
 29.74, -95.99
 30.91, -98.31
 31.68, -99.14
 32.45, -98.94
 33.58, -97.73
 35.11, -96.96
 36.63, -96.57


if grep "General Thunderstorm Risk" d1.txt; then
echo "General Thunderstorm Risk Detected"
POLYGON=`cat d1.txt | awk '/Line: 4, 0, \"General Thunderstorm Risk\"/{getline; print}'`
cat d1.txt | sed -e 's/Line: 4, 0, \"General Thunderstorm Risk\"/Polygon:/g' | sed -e "s/$POLYGON/$POLYGON, 0, 176, 80, 40/g" > day1
_colored.txt
fi

ベストアンサー1

sedあなたの特別な行に何かを適用するには住所彼らは。/pattern/commandcommandpattern

モデル線の後ろの次の行にコマンドを適用するには、nコマンドを使用して最初に先行します。

次に、行末に追加するにはs/$/whatever you want to append/$行末の場合)を使用します。

これで、これらのコマンドを組み合わせて、{}アドレス指定がそのコマンドとユーザーの両方に適しているようにする必要があります。

sed '/General Thunderstorm Risk/{n;s/$/, 42/;}' yourfile.txt > out.txt

, 42試合後に行に追加してください。これが望むものではない場合は、質問を編集してください。

おすすめ記事