SEDを使ってみたのは今回が初めてです。
単純な文字列を操作するには、置換コマンドを使用できます。良い:
sed -i 's/foo/bar/g' file.txt
ただし、正規表現を使用しようとすると動作が停止します。 URLを識別するために使用する正規表現は次のとおりです。
(https?:)?(\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
テキストファイルからすべてのURLを削除しようとしています。これは私の完全なコマンドです。
sed -i 's/(https?:)?(\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)//g' file.txt
誰でもこの問題を見ることができますか?
ベストアンサー1
拡張正規表現を有効にするには、コマンド-r
に追加する必要があります。sed
-r
つまり、、、、、、、には文字通りの意味がなく、?
「正規表現」+
の意味を()
与えるには前にバックスラッシュを付ける必要があります。{}
|
バラよりGNUウェブサイトのドキュメントより詳細な説明が必要です。