2

我正在尝试操作 ZDT 格式的词汇表,即:Traditional Characters \t Simplified Characters \t Pinyin \t English \n. 我想去掉行首的繁体字符,所以我试图删除它们,sed 's/^[^\t]*\t//g' input.txt > output.txt但这让我离我想要的结果还很远,因为在某些行中,直到英文部分的某个地方的所有内容都被删除了,而在其他行中线什么都没有被删除,我无法找出一个模式。

我认为 RegEx 是正确的,因为我在这里对其进行了测试,并且 Sublime Text 2 也可以按预期使用它。这里有什么问题?

编辑:http
: //pastebin.com/fRemVPyT 的开头input.txt http://pastebin.com/EJkszFNF
的 开头output.txt

4

1 回答 1

2

不是所有sed版本都喜欢\t。尝试使用文字制表符。您可以创建一个bash包含如下选项卡的变量:

export TAB=$'\t'

也许是这样的:

sed "s/^[^$TAB]*$TAB//g" input.txt > output.txt
于 2013-10-20T12:41:10.620 回答