スクリプトを作成しており、現在の入力は次のとおりです。
devdb.eu-central-1.rds.amazonaws.com
dev-redis.cnwoho.ng.0001.euc1.cache.amazonaws.com
2.5
dev-redis.cnwoho.ng.0001.euc1.cache.amazonaws.com
どのように削除できますか2.5
?この数はタイムアウトなので、開発者が調整できるので、任意の値にすることができます。ありがとうございます。
答え1
grep を使用して不要な行を削除できます。
grep -v '^[0-9][0-9]*\(\.[0-9][0-9]*\)\?$'
拡張正規表現を使用した短い表現:
grep -vE '^[0-9]+(\.[0-9]+)?$'
0
in がオプションの場合、たとえば、0.5
次のようになります。
grep -vE '^([0-9]+(\.[0-9]+)?|^\.[0-9]+)$'
答え2
私はあなたのタイトルを読んだ。 」文字列で終わるすべての行を除くすべてを削除.com
「使い方は簡単です。grep
条件をひっくり返して「」を取得します。文字列で終わるすべての行を保持.com
」
grep '\.com$' file
このgrep
コマンドは正規表現と一致し、.
REの特殊文字(すべての単一文字と一致)なので、エスケープする必要があります。記号$
は次のとおりです。行末。
答え3
あなたはそれを使用することができますsed
:
$ sed '/^[0-9]*\.*[0-9]*$/d' file
devdb.eu-central-1.rds.amazonaws.com
dev-redis.cnwoho.ng.0001.euc1.cache.amazonaws.com
dev-redis.cnwoho.ng.0001.euc1.cache.amazonaws.com
答え4
別の解決策は以下を使用しますawk
。
awk '/\.com$/' file
これにより、で終わる行だけが印刷されます.com
。