GNU/Linux >> Linux の 問題 >  >> Linux

Sedを使用して、文字列をディレクトリ名を含む文字列(つまり、スラッシュ「/」)に置き換えますか?

これは以前に尋ねられたことがあることは知っていますが、見つけた答えを理解するのに苦労しています。基本的に使いたい

sed -i 's/string//some/directory/g' file.txt

/some/directory sedを分割しないでください 構文。

承認された回答:

sed いくつかの構文区切り文字、/を許可します 最も一般的に使用されているのは1つだけです。

あなたも言うことができます

sed -i 's,<string>,<some/directory>,g' file.txt

ここで、, 現在、通常は/によって実行される機能があります 、それによって後者をその特別な意味から解放します。

ただし、(@ Jeff Schallerが指摘しているように)現在は,であることに注意してください。 ファイル名またはディレクトリ名に含めることはできません。これはファイル名に有効な文字です! この回答は、sedを適用する際の進め方の概要を示しています。 特殊文字を含む文字列に変換します。


Linux
  1. ファイル内の文字列を置き換える方法は?

  2. Sedを使用して複数行の文字列を置き換える方法は?

  3. 文字列をSedのスラッシュを含む文字列に置き換える方法は?

  1. SedまたはExを使用してブロック(複数行コード)を新しいテキストブロック(コード)に置き換える方法は?

  2. Linux –スラッシュ(/)はLinuxルートディレクトリの名前の一部ですか?

  3. sed を使用して構成ファイルの変数を置き換える方法は?

  1. ディレクトリで末尾のスラッシュを使用する必要があるのはいつですか?

  2. 現在のディレクトリを名前でコピーするRsync

  3. 行番号によって、あるファイルの行を別のファイルの行に置き換えます