
Linuxでテキストファイルを手動で編集するのは面倒です。 そのため、コマンドラインを使用してファイル内のテキスト文字列をすばやく置き換える方法を知っておくとよいでしょう。 Linuxを初めて使用し、その方法がわからない場合は、私たちがお手伝いします。 Linuxでファイル内のテキスト文字列を置き換える方法を説明します。
ファイル内のテキスト文字列を置き換える– sed
sedツールは、Linuxでファイル内のテキスト文字列を置き換えるための最良の方法です。 理由? 使い方は簡単で、その仕事はとてもうまくいきます。 Sedは通常、Linuxオペレーティングシステムの99%にプリインストールされているため、使用するためにインストールする必要はありません。
ファイル内のテキスト文字列をSedに置き換えるには、sed-iコマンドを使用します。 使い方はこちらです。 まず、Linuxデスクトップでターミナルウィンドウを開きます。 キーボードのCtrl + Alt + Tを押すと、ターミナルウィンドウを開くことができます。
ターミナルウィンドウが開いて使用できるようになったら、ターミナルプロンプトでsed-iを書き出します。 これが置換コマンドの開始です。
sed -i
sed -iコマンドを書き出した後、引用符を追加します。 sed -iに置き換えられるすべてのテキストはこのマークの後に開始する必要があるため、この引用符は必須です。
sed -i '
最初の ‘マークに続いて、s /と書き込みます。 s /は、sedを使用して置換する既存のテキストの直前に配置されます。
sed -i 's/
s /がターミナルのコマンドラインプロンプトに書き込まれたので、ファイル内で置き換えるテキストをsedに指示します。 この例では、「リンゴ」という単語を置き換えます。
sed -i 's/apple
置き換えたいテキストがコマンドに書き込まれると、次のステップはそれを置き換える新しいテキストを書き込むことです。 この例では、「リンゴ」を「オレンジ」に置き換えます。
sed -i 's/apples/oranges
置き換えたいテキストがコマンド(オレンジ色)に書き込まれたら、g /でコマンドを閉じます。 g /は、すべてのテキストインスタンス(リンゴ)を新しいテキスト(オレンジ)に置き換えるようにsedに指示します。 以下の例のようになります。
注:ファイル内のすべてのテキスト(たとえば、リンゴからオレンジ)を置き換えたくない場合は、gを削除し、代わりにsed -i’s / apples / oranges / ‘として実行します。
sed -i 's/apple/orange/g'
最後に、テキストがどのファイルにあり、置き換える必要があるかをsedに伝えます。 この例では、ホームディレクトリのfruit.txtがターゲットです。
sed -i 's/apples/oranges/g' ~/fruit.txt
Enterキーを押してコマンドを実行し、ファイル内のテキスト文字列を置き換えます。
ファイル内のテキスト文字列を置き換える– Perl
Linuxでファイル内のテキスト文字列を置き換える別の方法は、Perlプログラミング言語を使用することです。 Perlはテキスト処理に多く使用されるため、当然、ファイル内のテキスト文字列を入れ替えることができ、このユースケースに最適です。
まず、LinuxPCにPerlがインストールされていることを確認します。 ほとんどのLinuxオペレーティングシステムにはPerlがインストールされています。 ただし、お持ちでない場合は、オペレーティングシステムのヘルプページで、動作させる方法を確認してください。
Perlを使用してファイル内のテキスト文字列を置き換えるには、ターミナルが必要です。 キーボードのCtrl + Alt + Tを押して、Linuxデスクトップでターミナルを開きます。 または、アプリメニューで「ターミナル」を検索して起動します。
ターミナルウィンドウが開いて使用できるようになったら、コマンドラインプロンプトでperl-peと入力することから始めます。 perl -peコマンドは、ファイル内のテキスト文字列を置き換えるために必要なコマンドです。
perl -pe
ターミナルプロンプトでperl-peを書き出すときは、最初の ‘引用符で始める必要があります。 このマークは、コマンド内のテキスト置換領域がどこにあるかをPerlに通知します。
perl -pe '
最初の ‘引用符の後に、s /を追加し、その後に置き換えたいテキストの文字列、および別の/を追加します。 たとえば、fruit.txtファイルの「apples」を置き換えるには、次のテキストを書き出します。
perl -pe 's/apples/
置き換えたい単語を書き留めたら、既存のテキストを置き換える単語を追加します。 たとえば、「fruit.txt」の「apples」を「oranges」に置き換える場合は、perl -pe’s / apples /の後に「oranges」を追加して、perl -pe ‘s / apples / oranges /のようにします。 。
perl -pe 's/apples/oranges/
両方のテキスト文字列がコマンドに含まれるようになったら、Perlが使用する入力ファイルを指定する必要があります。 たとえば、「fruit.txt」ファイルのテキストを置き換える場合は、コマンドで指定する必要があります。
注:この例では、「fruit.txt」ファイルはホームディレクトリ(〜/)にあります。 コマンドを機能させるには、必ず「〜/ fruit.txt」をテキストファイルの場所に置き換えてください。
perl -pe 's/apples/oranges/' ~/fruit.txt
入力ファイル(Perlで変更しているファイル)がコマンドに追加されたので、コマンドは次のようになります。
perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
上記のコマンドを実行すると、テキスト文字列が指定した新しいテキストに置き換えられます。 この例では、「リンゴ」を「オレンジ」に置き換えました。 変更を表示するには、以下のコマンドを入力します。
cat fruit.txt