データをmysqlデータベースにインポートできるように、すべての「^A」文字を見つけて「\t」に置き換えようとしています。OSXで使用しているコマンドは次のとおりです。
sed -i '' 's/^A/\t/' item_info_20130203 > item_info_20130203_tab
これにより、ファイル内のすべての内容が削除されます。どこが間違っているのですか?
コマンドは実際には次のようになります。
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
この投稿によると、sedの-iオプションは元のファイルのテキストを検索/置換するため、> item_info_20120203_tab
コマンドの最後の構文はNOPであるため、出力ファイルは空になります。