查找最后一行的最后一行到一个位置并通过Bash脚本附加内容

时间:2017-10-16 14:38:30

标签: bash sed

我想在最后一行的最后一个位置将xyz abc string添加到特定文件中。

例如,我提到了具有最后一行程序的示例文件,可能还有其他程序需要通过bash脚本添加。我可以使用sed进行替换,但程序值是动态的,所以代码可能就像找到最后一行,最后一个减去位置 - >追加xyz - >保存?

尝试过的代码:

sed '$s/$/'"$(paste -sd, 'msft ibm')"'/' ${SampleFile}

示例文件:

ldap_userdn="uid=google,cn=admins"
programs="ie firefox google"

预期文件:

ldap_userdn="uid=google,cn=admins"
programs="ie firefox google msft ibm"

请注意,值会添加双引号。

1 个答案:

答案 0 :(得分:1)

您可以将最后"替换为您的程序:

$ cat > f
ldap_userdn="uid=google,cn=admins"
programs="ie firefox google"

$ sed '$s/"$/ msft ibm"/' f
ldap_userdn="uid=google,cn=admins"
programs="ie firefox google msft ibm"