用sed bash函数替换
发布时间:2020-12-14 01:39:25 所属栏目:Linux 来源:网络整理
导读:我的问题似乎很笼统,但我找不到任何答案. 在sed命令中,如何用简单的bash函数返回的值替换替换模式. 例如,我创建了以下函数: function parseDates(){ #Some process here with $1 (the pattern found) return "dateParsed;} 以及下面的sed命令: myCatFile=`
我的问题似乎很笼统,但我找不到任何答案.
在sed命令中,如何用简单的bash函数返回的值替换替换模式. 例如,我创建了以下函数: function parseDates(){ #Some process here with $1 (the pattern found) return "dateParsed; } 以及下面的sed命令: myCatFile=`sed -e "s/[0-3][0-9]/[0-1][0-9]/[0-9][0-9]/& parseDates &}/p" myfile` 我找到了’&’表示当前发现的模式,我希望它传递给我的bash函数,并将整个模式替换为找到的模式dateParsed. 有人有想法吗? 解决方法
您可以通过结束单引号部分将sed命令粘合在一起,然后再次重新打开它.
sed -n 's|[0-3][0-9]/[0-1][0-9]/[0-9][0-9]|& '$(parseDates)' &|p' datefile 但是,与其他示例相比,bash中的函数不能返回字符串,只能将它们放出: function parseDates(){ # Some process here with $1 (the pattern found) echo dateParsed } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |