したがって、次の種類のランダムWebサイトのリストがあります。
rapido21655bonk.a.sweetpotato.net
rapido26230bonk.a.sourpotato.net
rapido29926bonk.b.sourpotato.net
rapido29926bonk.b.sweetpotato.net
rapido30179bonk.a.sweetpotato.net
rapido30648bonk.b.sourpotato.net
rapido30761bonk.c.sweetpotato.net
数字だけを保持し、他のすべてを削除するにはsed文字列が必要です。私がしたことは最初の部分を削除することです。 2番目の部分では、sedを2回使用して削除できますが、いくつかのロジックを使用して1つのsedで削除できるsed s/rapido//
かどうかを知りたいと思います。or
私はsedを使用してa or b or c
usingを一致させることができることを知っていますが、[abc]
単語全体に一致するものと似ていることを望みます。だから私が次にしたことは次のとおりです。
sed s/rapido//|sed s/bonk.[abc].sweetpotato.net//
その後、Sourpotato.netを使用して別のものを追加しましたが、次のことはできません。
sed s/rapido//|sed s/bonk.[abc].(sweet|sour)potato.net//
これはうまくいきません。それは私にこれを与えます:(
-bash: syntax error near unexpected token
''
rapido22452boonkers.red
時には私がそこに保管したいものと同じものを得ることができるので、番号を変更するだけでは機能しません。 2つの選択肢を削除したいです。sweetpotato.net
OR。sourpotato.net
[111@111 ~]$ sed s/rapido// sedster|sed 's/bonk.[abc].(sweetpotato|sourpotato).net//'
21655bonk.a.sweetpotato.net
26230bonk.a.sourpotato.net
29926bonk.b.sourpotato.net
29926bonk.b.sweetpotato.net
30179bonk.a.sweetpotato.net
30648bonk.b.sourpotato.net
30761bonk.c.sweetpotato.net
ベストアンサー1
数値のみを抽出するには、GNUを使用して次のことを実行できますgrep
。
$ grep -oP '\d+' file
21655
26230
29926
29926
30179
30648
30761
または移植のためにPerlを使用してください。
$ perl -pe 's/[^\d\n]+//g' file
21655
26230
29926
29926
30179
30648
30761
またはsed
:
$ sed -nE 's/[^0-9]+//gp' file
21655
26230
29926
29926
30179
30648
30761
より具体的な入力データが必要な場合は、次のことを試すことができます。
$ sed -nE 's/.*rapido([0-9]+)bonk\..\.(sweet|sour)potato.net.*/\1/p' file
21655
26230
29926
29926
30179
30648
30761