:%S / STR1 / STR2 / gの全STR1のSTR2の共通の各行置換!
:S / STR1 / STR2 / gで現在の行にある全てSTR1のSTR2
また基本
:S / STR1 / STR2 /現在の行は、最初のstr1 str2のです
:S / STR1 / STR2 / gで現在の行にある全てSTR1のSTR2
:N、$ S / STR1 / STR2 /各STR1のSTR2の最初の行の最後の行にn行を交換
:N、$ S / STR1 / STR2 / gの別のn行目全てのSTR1 STR2の各行の最後の行に
(nは現在の行から最後の行に発現される場合、Nは、数)
:%S / STR1 / STR2 /(に相当:G / 0009 / S // STR2 /)各STR1のSTR2の最初の行を置き換えます
:%S / STR1 / STR2 / G(に相当:G / 0009 / S // STR2 / g)を全てSTR1のSTR2の各列を置換します
- #中間がない区切り文字として/表示される区切り文字として使用することができる
:S#0009 /#STR2 / #はSTR1 / STR2 IS /現在の行を置き換えます
:%S + / STR11 / STR12 / + / str21 / str22 +(+ /の代わりに使用):/ STR11 / STR12 /交換/ str21 / str22 /
- ファイル^ M削除
問題の説明:Linuxの下で発現キャリッジリターンライン(0A0D)で新しい行のために、Windows環境下では、変更を表現するために、キャリッジリターン(0A)です。Unixの使用上のウィンドウ上にファイルをコピーするときにUnixのシェルまたはプログラムのWindowsファイル(0D)Cをフィルタリングするためにこのように、常に^ Mがあるだろう、改行文字を書いてください。これを実現する方法は2つあります。
(1)コマンドを使用します。猫oldfilename | TR -d "^ V ^ M"> newfilename
(2)は、次のコマンドを使用します。sedの-e "S / ^ V ^ M //" oldfilename> newfilename
なお、両方の方法1及び2において、^ V ^ M、とを参照とCtrl + VのCtrl + M. あなたは手動で入力するのではなく貼り付けする必要があります。
処理のvim:vimの最初のファイルを開き、[ESC]キーを押して、コマンドを入力するために使用:
:%sの/ ^ M ^ V //
:%sの/ ^ M $ //グラム
上記の方法が役に立たない場合は、正しい解決策は以下のとおりです。
(1)TR -d "\ rを" <old_file_name> new_file_name或者猫oldfilename | TR -d "\ rを"> new_file_name
(2)TR -d "\ 015" <old_file_name> new_file_name或者猫oldfilename | TR -d "\ 015"> new_file_name
文字列A> B
- 他の技術を
利用します。■コマンド文字列を交換します。具体的な用途は次のとおりです。
:S / STR1 / STR2 / STR2 STR1ラインが最初に現れるの文字列を置換します
:文字列をS / STR1 / STR2 / gの行は、文字列STR1のすべての発生を置き換えるSTR2
:。、現在の行の末尾に$ S / STR1 / STR2 / gでstr2の置換テキスト文字列は、すべての文字列のSTR1に現れます
:1、$ sの/ STR1 / STR2 / gで置き換え、すべてのテキストが表示されますstr1の文字列STR2
:G / 0009 / S // STR2 / gの機能上
コマンドは上から見ることができます置き換える:コマンドの終わりにグラム、各発生を置き換えるために検索文字列を告げ、グラムせずに、交換する検索文字列の最初のオカレンスだけを表し、コマンドの先頭にgが、語りました検索文字列の置換操作体を含むすべての行。
文字列を置換するためのコマンド:のVI / vimのを使用することができます。前にのみ、フルテキスト形式の使用を置き換えるために、今日はコマンドを書いて、さまざまながあることを発見し、将来の問い合わせを容易にするため、ここではいくつかの記録、(viのは本当に強力なああは、学ぶことは非常にあります)。
あるいは
:S /ビビアン/空/現在の行がビビアンスカイで置き換える
:S /ビビアン/空/ Gは、現在の行のすべてのビビアン空である
:nは、$ S /ビビアン/スカイ/最後の行にn行を交換各ビビアン空の最初の行
:N、$ S /ビビアン/全天ビビアンの各行の最後の行にn行を交換スカイ/ G
nは数であり、nがある場合、現在の行から始まります。最後の行
:%S /ビビアン/空/ ( に相当:G /ビビアン/ S //空 /) 各ビビアン空の最初の行を置き換える
:%S /ビビアン/へスカイ/ G(当量:G /全てビビアン空の各列を置換//空/ gのビビアン/ s)が
デリミタ#として使用することができ、それによって中間体は、区切り文字としてではない/現れる
S#ヴィヴィアン/#空/: #は現在のラインAを交換しますヴィヴィアン/は/スカイです
:S%+ / oradataに/ apras / + /ユーザー01 / apras1 +(+ /交換するために使用):/ oradataに/ apras /置き換え/ユーザー01 / apras1 /
* ****
^ M削除テキストの
問題の説明:交換を表現ウィンドウ(0A0D)下ラインフィード、キャリッジリターンラインのために、キャリッジは、Linux(0A)であるが表現されます。UNIXでのウィンドウ上にファイルをコピーするときにこのように、常に^ M.フィルタリングウィンドウでシェルまたはプログラムのUNIXファイル(0D)Cを改行の使用を記述してくださいがあるでしょう。
•コマンドの使用方法:CATのファイル名1を| TRは"^ V ^ M"> newfileコマンドを-d;
•コマンドを使用する:sedの-e "S / ^ V ^ M //"ファイル名> OUTPUTFILENAMEを。なお、両方の方法1及び2において、^ V ^ M、とを参照とCtrl + VのCtrl + M. あなたは手動で入力するのではなく貼り付けする必要があります。
・VIでの処理:viのは、最初のファイルを開くために使用した後、ESCキーを押して、コマンドを入力している:%sの/ ^ V ^ M //。
・:%S / ^ M $ // gを
無駄上記方法であれば、正しい解である:
・TRは、 "R&LT" DESTを-d
・TRは-d DEST」5" 。
・ストリングA> B
、さらに
使用:Sコマンド置換文字列を達成するために。特定の用途は、次のとおりです
:S / STR1 / STR2 /文字列ラインはSTR2 STR1最初に出現して交換する
:S / STR1 / STR2 / gのSTR2 STR1に置き換えられるためにラインを持つすべての文字列を表示さ
:。、$現在の行の最後にS / STR1 / STR2 / gでstr2の置換テキスト文字列は、すべての文字列が表示されSTR1
:1、$ sの/ STR1 / STR2 / gでSTR1に現れるすべてのテキスト文字列を置き換えるSTR2に使用されます
:G / 0009 / S // STR2 / gの機能上
、上方から見ることができるコマンドを交換:コマンドの終わりにG、検索文字列は、それぞれの出現を置き換える表し; Gせず、唯一の検索表す
文字列を初めての交換、コマンドの先頭にGは、検索文字列の交換作業を含むすべての行の身体に語りました。