持っていると言えます。
apples bananas oranges pomelos oranges
バナナとグレープフルーツは別のロープです。
私が使用するのは行のsed 's/apples.*oranges/applesandfriends/'
2番目と一致します。oranges
どの一致が発生するかを制御する方法は何ですかoranges
?
私が得た結果は
applesandfriends
私が望む結果は
applesandfriends pomelos oranges
答え1
を使用してsed
特殊文字をn番目のキーワード(オレンジ色)に置き換えてから、その文字まで一致を実行します。
foo="apples bananas oranges pomelos oranges "
echo $foo | sed 's/oranges/#/1' | sed 's/apples.*#/applesandfriends/'
出力:
applesandfriends pomelos oranges
答え2
ファイルから最初に表示されるオレンジ色を削除して、次の方法を使用しました。
perl -pne "s/ /\n/g" o.txt|sed '/^$/d'| sed '0,/oranges/s/oranges//g'| sed '/^$/d'| perl -pne "s/\n/ /g"| sed "s/apples.*bananas/applesandfriends/g"
出力
applesandfriends pomelos oranges