我试图用“\t”查找并替换所有“^A”字符,以便可以将数据导入 mysql 数据库。我在 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,因此输出文件为空。