SEDが入力ファイルで異常に動作する

SEDが入力ファイルで異常に動作する

つまり、タグ間の入力をトリミングしてラップする必要があるsed小さなコマンドがあります。単一行と複数行の入力ではうまく機能しますが、入力ファイル(配信または引数)では正しく機能しません。"<id>catsed

head出力例(およびファイルの最終コマンド)

~> echo 200 | sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g'                                                                                                   
<id>200</id>

~> sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g' <<EO                                                                                                         
heredoc> 2301930
heredoc> 1230910293
heredoc> 102391093
heredoc> 
heredoc> EO
<id>2301930</id>
<id>1230910293</id>
<id>102391093</id>
<id></id>

~> cat job.csv | sed 's/"//g;s/^/<id>/g;s/$/<\/id>/g' | head                                                                                         
</id>79116
</id>79125
</id>79126
</id>78327
</id>78284
</id>78288
</id>78291
</id>78304
</id>78311
</id>78335

~> head job.csv                                                                                                                                      
"179116"
"179125"
"179126"
"178327"
"178284"
"178288"
"178291"
"178304"
"178311"
"178335"

問題は何だと思いますか?

ベストアンサー1

job.csvでMS行は終わりますか?

 less job.csv

通常、行の末尾に^ Mを表示します(もしそうなら)。

おすすめ記事