データは2行目から始まります。 最初のインスタンスを削除する単純なスクリプトまたはユーティリティはありますか?^m
データ行あたり?
この質問は、次のように書き直すこともできます。^m
2番目(偶数)インスタンスをすべて削除する方法は?興味深くスマートな答えをお楽しみください。 Ubuntuや同様の環境が望ましいです。
生データは賢く切り取り、貼り付け、解析できます。
Date,From,To,Flight_Number,Airline,Distance,Duration,Seat,Seat_Type,Class,Reason,Plane,Registration,Trip,Note,From_OID,To_OID,Airline_OID,Plane_OID^M
- -,JFK,OTBD,American Airlines (AA),American Airlines,6687,13:52,,,,,777^M,,,"Direct",3797,2241,24^M
- -,JFK,OTBD,Qatar Airways (QR),Qatar Airways,6687,13:52,,,,,77W^M,,,"Direct",3797,2241,4091^M
つまり、この質問をする理由は、予期しない^ mがLibre-Office Calc(スプレッドシート)からインポートの問題を引き起こしたためです。つまり、予想される改行が発生しました。
ベストアンサー1
ファイルをDOS形式(CRLF行の終わり)に維持すると仮定すると、削除できます。みんなCRを入力して行末にもう一度追加します。
だから
tr -d '\015' < srcfile | unix2dos > newfile
詳細な説明を編集:
これ
tr -d '\015'
剥がれるみんなファイルの control-M 文字。 -d
toはtr
「削除」を意味し、'\015'
8進形式のcontrol-M文字です。
これ
unix2dos
LF文字の前にCR(control-M)を挿入して、LF(改行; control-J;)文字をCRLFに変換します。これにより、unix形式のテキストファイルがDOS形式のテキストファイルに変換されます。
両方を組み合わせると、すべての不良^ Mが削除され、各行の末尾に^ Mのみがあることを確認します。