2017-10-16 8 views
0

最後の行の最後の1つの位置に特定のファイルにxyz abc stringを追加したいと思います。最後の行の最後の位置を特定し、bashスクリプトを使用してコンテンツを追加する

私は最終行プログラムを持っているサンプルファイルについて言及していますが、bashスクリプトを介して追加する必要のある他のプログラムが存在する可能性があります。私は置換のためのsedを使用することができますが、プログラムの値は動的なので、最後の行、最後に1つのマイナス位置を見つけるようにする必要があります - >追加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

あなたは自分のプログラムで最後"を置き換えることができます:

$ 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" 
+0

$ sedの-e '$ sの/ "$/MSFTのIBMの" /' のF#の-eを逃しました。おかげでfredtantini! –

関連する問題