^M
vimrcでキャラクターが増え続け、構成が壊れます。
:digraphs
vim内で入力すると、@ LightnessRacesinOrbitがリンクしているダイグラフテーブルが表示されます。
preg_replace('/[\x01]/', ' ' ,$str);
Hopeを試してみてください 。
^M
vimrcでキャラクターが増え続け、構成が壊れます。
:digraphs
vim内で入力すると、@ LightnessRacesinOrbitがリンクしているダイグラフテーブルが表示されます。
preg_replace('/[\x01]/', ' ' ,$str);
Hopeを試してみてください 。
回答:
Unixは、改行文字に0xAを使用します。Windowsは2つの文字の組み合わせを使用します:0xD 0xA。0xDは復帰文字です。^M
たまたまvimが0xDを表示する方法です(0x0D = 13、Mは英語のアルファベットの13番目の文字です)。
^M
次のコマンドを実行すると、すべての文字を削除できます。
:%s/^M//g
を^M
押したままCtrl入力vしm、続いて、次にリリースすることで、どこに入るのかCtrl。これはと省略されること^V^M
もありますが、文字どおりに入力するのではなく、前の文の説明に従って入力する必要があることに注意してください。
この式は、すべての出現を^M
空の文字列(つまり、何もない)に置き換えます。これを使用^M
して、WindowsからUnix(Solaris、Linux、OSX)にコピーされたファイルを削除します。
^M
ファイルの行末が一致しない場合、文字が表示されます。Tomaszが提供するコマンドを使用し、:fileformat={unix|dos|mac}
ターゲットとするOSに応じて入力します。^M
文字のない行が数行しかない場合は、おそらく必要です:fileformat=dos
。vim以外のエディターでファイルを編集している場合は、ファイルが行末に一致するように構成されていることを確認してください(メモ帳はこれを行いませんが、メモ帳++やTextMateなどの信頼できるエディターはこれを行います)。
vi
。そのコマンドは手動で入力する必要があります。vi
実行中の開いているターミナルに貼り付けるだけでは、「パターンが見つかりません」というエラーが発生します。
:%s/\r//g
して、ファイルの改行を置き換える必要がありました。^ V ^ Mパターンは、私が^ M文字の束を持っていたファイルに見つかりませんでした。
:%s/\r//g
今日は私のために働きました。しかし、私の状況は少し異なっていたかもしれません。
:%s/\r//
十分でしょう。
新しい行を削除せずに翻訳するには:
:%s/\r/\r/g
\r
検索部分と置換部分では動作が異なります。たとえば、stackoverflow.com / a / 3834303をご覧ください。
:%s/\r//g
最初にMacユーザーを介してWindowsマシンで生成されたテキストファイルを取得し、load data
コマンドを使用してLinux MySQL DBにインポートする必要がありました。
VIMは「^ M」という文字を表示しましたが、上記のどれも私の特定の問題に対しては機能しませんでしたが、データはインポートされましたが、常に何らかの方法で破損していました。結局のところ、このソリューションは非常に簡単でした(多くの不満の後)。
解決策:同じファイルでdos2unix
TWICEを実行するとうまくいきました!file
コマンドを使用すると、途中で何が起こっているかが表示されます。
$ file 'file.txt'
file.txt: ASCII text, with CRLF, CR line terminators
$ dos2unix 'file.txt'
dos2unix: converting file file.txt to UNIX format ...
$ file 'file.txt'
file.txt: ASCII text, with CRLF line terminators
$ dos2unix 'file.txt'
dos2unix: converting file file.txt to UNIX format ...
$ file 'file.txt'
file.txt: ASCII text
そして、ファイルの最終バージョンがデータベースに完全にインポートされました。
Unixでは、おそらく 'tr'コマンドを使用する方が簡単です。
cat file1.txt | tr "\r" "\n" > file2.txt
私はそれらすべてをsedで削除しました:
sed -i -e 's/\r//g' <filename>
別の文字列または文字に置き換えることもできます。
sed -i -e 's/\r/string/g' <filename>
これらのsed
コマンドはのGNU / Linuxバージョンでsed
動作しますが、BSD(macOSを含む)で微調整が必要になる場合があります。
あなたはvimでこれを修正することができます
:1,$s/^V^M//g
ここで、^は制御文字です。
^M
が説明されていません。
これは私の場合に機能した唯一のものです:
:e ++ff=dos
:wq