Fedora Users Forum

Fedoraユーザのためのサポートフォーラム
現在時刻 - 2019年3月21日(木) 01:04

All times are UTC + 9 hours





新しいトピックを投稿する トピックへ返信する  [ 6 件の記事 ] 
作成者 メッセージ
 記事の件名: [解決済み] sed コマンド と vi でファイル編集の違いについて
投稿記事Posted: 2010年9月17日(金) 22:00 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2008年11月03日(月) 21:48
記事: 271
こんばんわ、りなっくす初心者です

現在、サーバの設定などを行っているのですが

sed コマンドで設定をした場合と、 vi でファイルを開き、設定を編集した場合とでは
なにが違うのでしょうか?

例えば、SELinux を無効化、もしくは有効化するときに
 コード: 全選択 大枠 小枠
sed -n s/SELINUX=disabled/SELINUX=enabled/p

として変更するのと
 コード: 全選択 大枠 小枠
vi /etc/sysconfig/selinux

を実行し
SELINUX=enforcing
としたり、
SELINUX=disabled

と変更するのでは、とくに変化はみられませんでした

vi と sed  違い
と検索してみたのですが、この違いについてはわかりませんでした

すみませんが、この違いに対するアドバイスをお願いします


トップへ
 
 記事の件名: Re: sed コマンド と vi でファイル編集の違いについて
投稿記事Posted: 2010年9月17日(金) 23:12 
オフライン
Site Admin
アバター
プライベートメッセージ送信  メール  WWW  プロフィール

登録日時: 2008年9月08日(月) 21:17
記事: 428
所在地: 東京都
viではテキスト文書全体を表示して部分編集を行ないますが、sedではテキスト文書の一部の文字列を異なる文字列に一括で入れ替えることができます。

テキスト文書の変更という意味では同じですが、sedの場合、マッチする文字列はすべて変更されてしまいます。同じ文字列が含まれていて、一箇所だけ変更したいという場合は不便ですね。その場合は一致しない部分まで含めて変更すればいいわけですが…。

Ubuntu Magazineの打ち上げでお会いしたperciaさんは、viでなくcatとsedを使っていると言っていました。かなりマニアックではありますが、十分にviの代用として使えるようです。


トップへ
 
 記事の件名: Re: sed コマンド と vi でファイル編集の違いについて
投稿記事Posted: 2010年9月18日(土) 08:22 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2008年11月03日(月) 21:48
記事: 271
vine_userさん、お返事ありがとうございます

sed コマンドで充分にvi の代用としてつかえるようですね :)

sedを使っての編集


というページをみて、sed コマンドでも、行などを指定して変更ができるようだったので
もしかしたら、これを使えば一度ですむのでは?
と思って考え込んでいました

クリーンインストールした状態から、再度設定をするのはかなり面倒なので、
効率化のために シェルスクリプトを勉強し、設定するスクリプトで行えるようにしたいと思います

現状では
 コード: 全選択 大枠 小枠
!#/bash/bin
yum -y install yum-fastestmirror
yum -y update


といったインストールのみしかできていませんが、
今後は、sed コマンドでの設定を追加してみようと思います


トップへ
 
 記事の件名: Re: sed コマンド と vi でファイル編集の違いについて
投稿記事Posted: 2010年9月18日(土) 12:10 
オフライン
Site Admin
アバター
プライベートメッセージ送信  メール  WWW  プロフィール

登録日時: 2008年9月08日(月) 21:17
記事: 428
所在地: 東京都
確かに、catなどでターゲットの行が特定できていればピンポイントで変換できますね。

sedは、Japanese teamのShibataさんでもmanページ参照しながら使ってるとか言ってましたので、使い慣れるまでは大変かも知れませんけど。


トップへ
 
 記事の件名: Re: sed コマンド と vi でファイル編集の違いについて
投稿記事Posted: 2010年9月18日(土) 12:48 
オフライン
プライベートメッセージ送信  WWW  プロフィール

登録日時: 2008年9月13日(土) 12:37
記事: 250
所在地: 兵庫県
ちょっとだけ補足しておきます。
sedはテキストを一括で置き換えることはできますが、1行単位でデフォルトでは最初に合致したもののみ処理し、その後は処理やめちゃいます。
合致するもの全てを処理する場合は
コード:
sed -s /hoge/fuga/g

と、最後に「g」をつけることになっています。

通常のテキスト編集はviのようなテキストエディタの方が便利だと思いますが、スクリプトで一括処理を行うときにはsedが便利です。
用途で使い分けたらいいんじゃないでしょうか。


トップへ
 
 記事の件名: Re: sed コマンド と vi でファイル編集の違いについて
投稿記事Posted: 2010年9月19日(日) 00:56 
オフライン
プライベートメッセージ送信  メール  プロフィール

登録日時: 2009年10月31日(土) 18:56
記事: 28
---------
蛇足とも言えそうですが参考まで。

vi(vim)のコマンドモードでも同じ様な構文で置換できますので、動作確認にでもどうぞ。


トップへ
 
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 6 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[0人]


トピック投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron

無料でマイフォーラムを作成する! · php-BB© · Internationalization Project · 不正利用を報告する · 使用条件/プライバシーポリシー
© Forums-Free.com 2009