結合列の間に^ Mを挿入するUnix `join`コマンドを変更するには? - Unix

結合列の間に^ Mを挿入するUnix `join`コマンドを変更するには? - Unix

私は初心者のプログラマーです。私はjoin複数の長いファイルを一緒に自己結合するためにUnixコマンドを使用しています。

join -j30 test test2
col1 col2 ... col30    col1 col2 ... col30
A    B        ZZZ   ^M A    B        ZZZ

^M出力にこの文字が表示されます。

なぜそこにいるのですか?そしてどのように削除できますか?

編集:以下は私の出力セクションのスクリーンショットです。

ここに画像の説明を入力してください。

ベストアンサー1

^Mは、Windowsがファイルをインポートまたは編集することを意味します。

dos2unixファイルのコマンドを使用して、ファイルをUnixテキストモードに変換します。

DOSは改行と改行「\ r \ n」を行終端として使用し、Unixは改行「\ n」のみを使用します。 ^M は "追加" \r 文字を視覚的に表現したものです。

このコマンドをインストールするには: dos2unix(Debian ベースのディストリビューションで):

sudo apt-get install dos2unix

またはMac(MacPorts)で:

sudo port install dos2unix

または、sedを使用して次のようにこれを実行できます。

sed 's/\r$//' dosfile.txt > unixfile.txt

おすすめ記事