Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用bash脚本查找和替换文本_Bash_Shell_Suse - Fatal编程技术网

使用bash脚本查找和替换文本

使用bash脚本查找和替换文本,bash,shell,suse,Bash,Shell,Suse,我有下面的脚本,它使用一个密码文件更改密码,我已将密码以正确的格式传送到该文件。但是,下一个命令需要具有修订格式的密码文件。目前,我只是删除并重新创建了该文件,但只需编辑它就好了,我只是不确定如何: sudo touch /tmp/password.txt sudo chmod 600 /tmp/password.txt sudo echo "AS_ADMIN_PASSWORD=" > /tmp/password.txt sudo echo "AS_ADMIN_NEWPASSWORD=Pa

我有下面的脚本,它使用一个密码文件更改密码,我已将密码以正确的格式传送到该文件。但是,下一个命令需要具有修订格式的密码文件。目前,我只是删除并重新创建了该文件,但只需编辑它就好了,我只是不确定如何:

sudo touch /tmp/password.txt
sudo chmod 600 /tmp/password.txt
sudo echo "AS_ADMIN_PASSWORD=" > /tmp/password.txt
sudo echo "AS_ADMIN_NEWPASSWORD=Pa55w0rd2" >> /tmp/password.txt
sudo /opt/glassfish3/bin/asadmin --user admin --passwordfile /tmp/password.txt change-admin-password \
    --domain_name domain1
sudo rm /tmp/password.txt
sudo touch /tmp/password.txt
sudo chmod 600 /tmp/password.txt
sudo echo "AS_ADMIN_PASSWORD=Pa55w0rd2" > /tmp/password.txt
sudo /opt/glassfish3/bin/asadmin --user admin --passwordfile /tmp/password.txt enable-secure-admin

非常适合
sed

sed -i '/^AS_ADMIN_PASSWORD=/d' /tmp/password.txt

这将在适当位置删除与给定正则表达式匹配的行。

与您的问题无关,但请注意,
sudo echo“AS_ADMIN\u PASSWORD=“>/tmp/PASSWORD.txt
可能没有执行您认为的操作。由于i/o重定向
/tmp/password.txt
在调用命令之前在本地shell中发生,因此
sudo
是一个no-op。