'^M'文字の末ライン
-
09-06-2019 - |
質問
かけると、特定のSQLスクリプトをUnix環境では、私は午見'^M'文字の末にラインのSQLスクリプトそのまま響きのコマンドライン。いるOSのSQLスクリプトされました。
何が起こることはどうしたらいいですか?
解決
このよDOS/Windows線-終了文字です。のようにアンディ-ウィットフィールド言われたが、Unixコマンドdos2unix助の問題です。もう少し詳しい情報を読むことができmanページにそのコマンドです。
他のヒント
直線の終わりに vi
については、以下の
:set fileformat=unix
:w
最も簡単な方法は使用 vi
. 知っている音がひどい そのシンプルに既にインストールされているのUNIX環境です。の^Mが新ラインからの窓/DOS環境です。
からのコマンドプロンプト: $ vi filename
そして、":
"をコマンドモードになります。
検索と置換すべての世界は :%s/^M//g
"押制御押V
M"また、機^Mです。
その後、その終了を入力し:wq
"完了!
使ってみdos2unixグレーのクラムシェル型クランプの^M.
おい :%s/^M//g
を取得 ^M
の CTRL キーを押すと、 V その M (両持の制御キー) ^M
が表示されます。このすべての発生と差し替えています。
のSQLスクリプトはもともと作成したWindows OS.の^M'文字の結果、WindowsとUnixの異なる考えは、行末文字です。利用できるperlのコマンドラインを修正。
perl -pie 's/\r//g' filename.txt
の^Mは、一般的に、クマラコムボートジェッティなオペレーター改行、翻訳をUnixのように見^M.コマンドのdos2unixはできるだけ除去することが望していく
dos2unix[オプション][-c convmode][-oファイル...][-n infile outfile...]
C:\tmp\text>dos2unix hello.txt helloUNIX.txt
Sedで幅広くご利用いただけることができないかも合dos2unixが入っていない
C:\tmp\text>sed s/\r// hello.txt > helloUNIX.txt
このまま試tr:
cat hello.txt | tr -d \r > helloUNIX2.txt
この結果:
C:\tmp\text>dumphex hello.txt
00000000h: 48 61 68 61 0D 0A 68 61 68 61 0D 0A 68 61 68 61 Haha..haha..haha
00000010h: 0D 0A 0D 0A 68 61 68 61 0D 0A ....haha..
C:\tmp\text>dumphex helloUNIX.txt
00000000h: 48 61 68 61 0A 68 61 68 61 0A 68 61 68 61 0A 0A Haha.haha.haha..
00000010h: 68 61 68 61 0A haha.
C:\tmp\text>dumphex helloUNIX2.txt
00000000h: 48 61 68 61 0A 68 61 68 61 0A 68 61 68 61 0A 0A Haha.haha.haha..
00000010h: 68 61 68 61 0A haha.
交換^M字viエディタ以下のご利用
このテキストファイルを開きうt1.txt
vi t1.txt
入力コマンドを押すことによってモード shift + :
そのキーを押して %s/^M/\r/g
in above ^M is not (shift + 6)M instead it is (ctrl + V)(ctrl + M)
代替 dos2unix
コマンドが標準備など sed
.
例えば、 dos unix:
sed 's/\r$//' dos.txt > unix.txt
unixへのdos:
sed 's/$/\r/' unix.txt > dos.txt
削除ができます^Mからのファイルを直接sedコマンドの例:
sed -i'.bak' s/\r//g *.*
ックスの変更、取り外します。bakファイル:
rm -v *.bak
変換DOS/Windows )の線の終了にUnix( )の線終わり、tr:
tr '\r\n' '\n' < dosFile.txt > unixFile.txt
od -a $file
有探ているので、それらの問題Linux(dumphexします。
Perlでは、かない場合には設定したい$/変数を使chomp()もできます:
$var =~ /\r\n//g;
私の二つのセント
他のコマンドのviただい: :%s/.$//
これ最後の文字の各ラインのファイルです。は、この検索と置換のコマンドはしないよう最後の文字がないように注意してください呼んでいます。