1

データをmysqlデータベースにインポートできるように、すべての「^A」文字を見つけて「\t」に置き換えようとしています。OSXで使用しているコマンドは次のとおりです。

sed -i '' 's/^A/\t/' item_info_20130203 > item_info_20130203_tab

これにより、ファイル内のすべての内容が削除されます。どこが間違っているのですか?

4

2 に答える 2

3

コマンドは実際には次のようになります。

sed 's/'`echo "\001"`'/\t/g' item_info_20130203 > item_info_20130203_tab

またはより現代的な方法

sed 's/'$(echo "\001")'/\t/g' item_info_20130203 > item_info_20130203_tab

または元のファイルに影響を与える:

sed -i 's/'`echo "\001"`'/\t/g' item_info_20130203

GNU sedを使用している場合は、次のように使用できます。

sed -i 's/\x01/\t/g' item_info_20130203
于 2013-02-12T20:39:45.453 に答える
0

この投稿によると、sedの-iオプションは元のファイルのテキストを検索/置換するため、> item_info_20120203_tabコマンドの最後の構文はNOPであるため、出力ファイルは空になります。

于 2013-02-12T20:32:05.040 に答える