我正在使用shell脚本将从Access导出的CSV文件重新格式化为可以更轻松地导入MySQL的格式。
我需要对文件执行许多不同的操作,而我目前仍然坚持使用其中一个操作。我以前曾经使用过sed和awk,但我对它们不太满意(我已经习惯了PCRE),而且我不知道在哪里找到我&#39这里出了问题。
我写的命令如下:
sed -e '1d' raw.csv | sed 's/£//g' | sed 's/ 00:00:00//g' | sed 's/\([0-9]{2}\)\/\([0-9]{2}\)\/\([0-9]{2}\)/20\3-\1-\2/g' > formatted.csv
现在,我在这里进行的操作如下:
00:00:00
我按顺序完成了这些工作,除了最后一个之外,它们按预期工作:
sed 's/\([0-9]{2}\)\/\([0-9]{2}\)\/\([0-9]{2}\)/20\3-\1-\2/g' > formatted.csv
谁能看到我误入歧途的地方?
答案 0 :(得分:1)
你也需要逃避大括号。
sed 's/\([0-9]\{2\}\)\/\([0-9]\{2\}\)\/\([0-9]\{2\}\)/20\3-\1-\2/g' > formatted.csv