私は以下のタブで区切られた入力ファイルを持っています。私は行末の末尾のタブを削除して、 "ファイル内"にして、変更されたデータを新しいファイルに出力する必要がないようにします。これは、データがたくさんあるため、効率が悪く、データを読み込んで再度書き出したくないからです。これを行うにはMacの行の末尾にあるタブを削除する
Hybridization REF Gene_Symbol Chromosome Genomic_Coordinate TCGA-13-A5FT-01A-11D-A409-05 TCGA-13-A5FU-01A-11D-A409-05 TCGA-29-A5NZ-01A-11D-A409-05 TCGA-3P-A9WA-01A-11D-A409-05 TCGA-59-A5PD-01A-11D-A409-05 TCGA-5X-AA5U-01A-11D-A409-05 TCGA-OY-A56P-01A-12D-A409-05 TCGA-OY-A56Q-01A-11D-A409-05 TCGA-VG-A8LO-01A-11D-A409-05 TCGA-WR-A838-01A-12D-A409-05
cg00000029 RBL2 16 53468112 0.162232896986279 0.191627667901702 0.0712181967886229 0.0797617926225958 0.134907151266991 0.0541415985613948 0.0898579298345672 0.037865566345129 0.0681542463965581 0.101053013486289
cg00000108 C3orf35 3 37459206 NA NA NA NA NA NA NA NA NA NA
cg00000109 FNDC3B 3 171916037 NA NA NA NA NA NA NA NA NA NA
、私はのバリエーション使用してきました:
sed -i '' 's/\t\n/\n/g' input.txt
をしかし、これはさらに末尾のタブを削除しません。私はMac OS Xを使用していますので、GNUはありません。解決策は何ですか?
sed -i '' 's%\t*$%%g' input.txt
sed
式がゼロまたは複数のタブ(\t*
)を置き換えます。私はラインマーカー($
)の先端を使ってテキストファイルにhere
私はとにかくそれをしましたが、まず 'dos2unix'コマンドを実行しなければなりませんでしたか? – user3313178
@ghoti:私の答えのコメントありがとう。確か目を開けてください。 – sjsam
@ user3313178 - これはうれしいことです。dos2unixに関しては、あなたの質問の中にあなたが必要とするものは何もないが、 'cat -vet file.txt | less'または 'od -c file.txt |あなたが扱っている生データのより良いアイデアを得るためには「少ない」です。もしあなたがDOSの行末を持っていれば、それらを削除するための戦略がたくさんあります。ここではおそらくここに繰り返しはありません。 :-) – ghoti