私は新しいLinuxユーザーです。 私は”foo”というテキストを見つけて、”hosts”という名前のファイルで”bar”に置き換えたかったのです。テキスト”LinuxまたはUNIXライクなシステムでsedコマンドを使用して検索および置換するにはどうすればよいですか?
sedはストリームエディタの略です。 これは、指定されたファイルを読み取り、sedコマンドのリストで指定された入力を変更します。 デフォルトでは、入力は画面に書き込まれますが、ファイルを強制的に更新することができます。,
sedコマンドを使用してファイル内のテキストを検索して置換します
Sedを使用してLinux/Unixのファイル内のテキストを変更する手順は次のとおりです。
- ストリームエディタ(sed)を次のように使用します。
- sed-i’s/old-text/new-text/g’入力。sはsedの代替コマンドですfind and replace
- すべての出現を見つけ、inputという名前のファイルで’old-text’に置き換えるようにsedに指示します。txt
- ファイルが更新されたことを確認します。
- より多くの入力。,txt
構文と使用法を詳細に見てみましょう。こんにちは。
構文:sedテキストの検索と置換
sedを使用して検索と置換
helloというテキストファイルを作成しましょう。,ws:sed 's/foo/bar/g' hello.txt
サンプル出力:
The is a test file created by nixCrft for demo purpose.bar is good.Foo is nice.I love FOO.
The is a test file created by nixCrft for demo purpose.bar is good.bar is nice.I love bar.
sedコマンドの問題
sed: 1: "s/http:///https://www.c ...": bad flag in substitute command: '/'
https://www.cyberciti.biz is outdate.Consider using https:// for all your needs.
sedを使用して単語と一致させる方法検索と置換を実行します
この例では、単語’love’のみを検索し、行の内容がfooのような特定の文字列であれば’sick’に置き換えます。sed -i -e '/FOO/s/love/sick/' input.txt
catコマンドを使用して新しい変更を確認します。cat input.txt
recap:sedを使用して検索と置換
►patreonでの私の仕事をサポートしてください。寄付で。,
►Linux上の最新のチュートリアルを入手し、オープンソース&Rssフィードまたは毎週の電子メールニュースレターを介してDevOps。
これまでに4件のコメントがあります。.. 一つ追加
►Linux上の最新のチュートリアルを入手し、オープンソース&Rssフィードまたは毎週の電子メールニュースレターを介してDevOps。
これまでに4件のコメントがあります。.. 一つ追加
カテゴリ | UnixおよびLinuxコマンドのリスト |
---|---|
ファイル管理 | cat |
ファイアウォール | アルパインawall•centos8•opensuse•rhel8•ubuntu16.04•ubuntu18.04•ubuntu20.,04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.,04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |