Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> すべての文書をLinuxの検索と置換

すべての文書をLinuxの検索と置換

  
        ディレクトリの下に文字列のすべてが含まれているすべてのファイルを検索し、これらのファイルは、別の文字列の置換文字列を置き換えます。

は、多くの場合、このような状況に遭遇します。この場合、ネットのネットファイルは1つの交換面倒で1を確認し、よりチェックし、この時間は、我々は問題を解決する方法にコマンドを見つけることができるはずです。

コマンドのデフォルトの動作file.txtを1、grepコマンド

はgrepパターンは、標準出力にパターンに一致する出力線をファイルFILE.TXTすることです。この機能は、私たちは、ファイルに表示されますが、私たちは次の複雑な操作を実現する助けにはならない、grepの下のオプションのいくつかの少しを理解する必要がある文字列のコンテキストを見つけることができます。

は、今テストファイルの内容は、次のように

 $猫target.txt<クラス="ナビゲーションバーブランド"のhrefを="のhttp://yyy.xxx.edu.cn /">パンダ検索< /a>をテキスト装飾:なし;" HREF =" HTTP://www.asdf.net/scholar/xindong_wu.html"> Xindong" HREF ="のhttp://asdf.net/scholar/Federi<クラス="ナビゲーションバーブランド" HREF =" HTTP://yyy.xxx.edu.cn/">パンダ検索< /a>をHREF =" HTTP ://www.asdf.net/scholar/Gong-Qing_Wu.html"> HREF =" HTTP://asdf.net/scholar/Federico_Bocardi.html">フェデリコoccardi< /a>を< /リー>。 <スパンクラス="アップル変換空間"<;><> /スパンのLiスタイル="表示:インラインブロック;パディング右:5pxの;パディング左:5pxの;"><スタイル="色:RGB(66、139は、以下のようなディレクトリ構造に置かれ、その後、私たちのこの文書、二つの追加のコピーをテストし、名前を変更するには:<前> $ツリー..├──a│を└ ──target1.txt├──target2.txt└──target.txt 

GRを行いましたEPコマンド:
<前> $はgrep -rn"のhttp://yyy.xxx.edu.cn" * A /target1.txt:1:<クラス="ナビゲーションバーブランド"のhref =" HTTP://yyy.xxx.edu.cn/">パンダ検索< /a>を/target1.txt:5:<クラス="ナビゲーションバーブランド" HREF ="のhttp://yyy.xxx.edu.cn/">Panda検索< /a>をtarget2.txt:1:<クラス="ナビゲーションバーブランド" HREF ="のhttp://yyy.xxx.edu.cn /">パンダ検索< /a>をtarget2.txt:5:<クラス="ナビゲーションバーブランド" HREF =" HTTP://yyy.xxx.edu.cn/">パンダ検索< /> target.txt:1:<クラス="ナビゲーションバーブランド" HREF =" HTTP://yyy.xxx.edu.cn/">パンダ検索< /a>をtarget.txt :5:<クラス="ナビゲーションバーブランド" HREF =" HTTP://yyy.xxx.edu.cn/">パンダ検索< /a>をgrepのは、以下のオプションが提供される:*一般的ですbashのワイルドカードは、現在のディレクトリ内のすべてのファイルは、もちろん、あなたはまた、-nが重要である再帰的な検索は、意味は、現在のディレクトリ内のサブディレクトリ内のファイルを探している-rファイル名を書くことができますマン’、人間の両側を含む行番号が記載されている-l -iケースを無視-Lファイル名にリストされたファイル名と一致する-wのみ単語全体ではなく、文字列の一部(例えば、唯一の一致&lsquo一致しない示します.manという’として&lsquo署名し、又は‘. =男性=’含む&lsquoない;女性’又は‘マンリー’)

2、Linuxの他の準備スキル2.1コマンド出力以下は一例であり、 ``と$():パラメータとして方法の良い品種がありますが、ここでは二つのタイプがあります。
<前> $エコー `ls`a target2.txt target.txt t.tt $エコー$(LS)target2.txtは、以前の記事を参照してくださいt.tt2.2 target.txt使用してSED sedコマンドファイルを置き換えます; S /古い/新しい/G" FILE1.TXT FILE2.TXTが新しいによって置き換えられ、すべての古いファイル* .txtは置くことができる<前>のsed -i":ローカルだけ言って、ここで使用。あなたが何か新しいものを持っていない場合、昔の意味を削除するための手段です。 3、一緒に文字列に上記のスキルはとてもわずか数行は、いくつかの指定された文字列を置き換え、ファイルのすべてを完了することができるようになります。もちろん、 '/' 文字がある場合のsedの使用に注意してくださいすることは注意すべきこととき、エスケープ、次のように

 $ sedの-i" S /のhttp:\\ /\\ /yyy.xxx。 edu.cn//g" $(grepの-L-R"のhttp://yyy.xxx.edu.cn" *)$猫target.txt<クラス="ナビゲーションバーブランド"のhref =" /">パンダ検索< />テキスト装飾:なし;" HREF =" HTTP://www.asdf.net/scholar/xindong_wu.html"> Xindong" HREF ="のhttp://ASDF .NET /学者/Federi<クラス="ナビゲーションバーブランド" HREF =" /">パンダ検索< /a>をHREF ="のhttp://www.asdf.net/scholar/Gong- Qing_Wu.html"> HREF =" HTTP://asdf.net/scholar/Federico_Bocardi.html">フェデリコoccardi< /a>を< /リー><スパンクラス="アップル変換空間"。 <;><> /スパンのLiスタイル="表示:インラインブロック;パディング右:5pxの;パディング左:5pxの;"><スタイル="色:RGB(66、139 $ sedの-i" S /のhttp:\\ /\\ /www.asdf.net//g" $(grepの-L-R"のhttp://www.asdf.net" *)$ sedの - I" S /のhttp:\\ /\\ /asdf.net//g" $(grepの-L-R"のhttp://asdf.net" *)$猫target.txt<クラス="ナビゲーションバーブランド" HREF =" /">パンダ検索< /a>をテキスト装飾:なし;" HREF =" /scholar/xindong_wu.html"> Xindong" HREF =" /学者/Federi<。クラス="ナビゲーションバーブランド" HREF =" /">パンダ検索< /a>をHREF =" /scholar/Gong-Qing_Wu.html"> HREF =" /scholar/Federico_Bocardi.html"> />;< /リー><スパンクラス="アップル変換空間">< /スパン><フェデリコoccardi<リースタイル="表示:インラインブロック;パディング右:5pxの;パディング左:5pxの;"><スタイル="色:RGB(66、139 $は、ここを参照してください多分あなたは私が何をしてるかを理解。実際には、これは、我々のシステムに子供用の靴のラインは、ハイパーリンクで使用されるすべてのページが駅でジャンプを含め、以上のブラウザから直接コピーされ、いくつかの静的なページを追加しました。当時は問題はありませんでしたが、これは明らかに科学的ではありませんが、現在はドメイン名を変更する必要があり、問題が発生しており、これらの古いドメイン名のジャンプリンクにアクセスできません。この問題を解決するために、私はこれらのステーションのすべてのドメイン名を削除することにしました、そして私は通常のジャンプを達成することができます。ファイルが多すぎるため、上記の方法を使用する必要がありました。
						
Copyright © Windowsの知識 All Rights Reserved