テキストファイルに複数のURLがあります。 FirefoxはこれらのURLを直接読み込めないように見えるため、そのURLをHTMLに変換する必要があります。
使用してもsed
動作しません。
sed -e 's/^(.*)$/<a href="\1">\1<\/a><br>/g' myfile.txt
返されたエラーメッセージ(翻訳済み、英語システムではこれと正確に一致しない可能性があります):
sed: -e expression n°1, char 33: invalid reference \1 in right side of the command `s'
私は理由を知りたいですか?
URLは次のとおりです。
https://unix.stackexchange.com/questions/378496/sed-to-replace-text-url-to-html-url
一部には次の文字を含めることができます:%&/ \ _ - =:
行末、実際の改行の前に「改行」があり、.*文に含まれているようです。 Windows環境でファイルが作成されたためです。
答え1
正規表現の一部をグループ化するには、\(\)
拡張正規表現構文を使用するオプションを使用または提供します。-E
sed
あなたの場合はまったく必要ありません。完全一致の場合は、&
交換に使用できます。
sed 's/.*/<a href="&"><\/a><br>/' myfile.txt
貪欲^
は一致に行全体を含めるため、合計を削除することもできます。$
*
答え2
/
sed式でキャプチャテキストを区切り文字として使用しているため、/
失敗します。
's@^(.*)$@<a href="\1">\1<\/a><br>@g'
変換するmailtoリンクがないとし、試してみてください。
また、使用することができます's!^(.*)$!<a href="\1">\1<\/a><br>!g'