用命令结果替换字符串

时间:2014-05-31 16:00:42

标签: bash python-3.x replace awk sed

我有zdt格式的数据(如this),我只想在第三列(拼音版)上执行this python script。我尝试使用sedawk执行此操作,但由于我对这些工具的了解有限,我没有取得任何成功。理想情况下,我想将列的内容提供给python脚本,然后将源替换为脚本的yield。

这大致是我想象的但是电话没有被执行,即使在引号中也没有。

s/([a-z]+[1,2,3,4]?)(?=.*\t)/decode_pinyin(\1)/g

我对使用的工具(sedawk,python,...)不太严格,我只想要一个shell脚本来批量处理许多文件。如果保留原始空间将是最好的。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

awk -F'\t' '{printf "decode_pinyin(\"%s\")\n", $3}' file

输出:

decode_pinyin("ru4xiang1 sui2su2")
decode_pinyin("ru4")
decode_pinyin("xiang1")
decode_pinyin("sui2")
decode_pinyin("su2")