使用 bash 脚本查找和替换文本
Find and replace text using a bash script
我有以下脚本,它使用我以正确格式将密码传输到的密码文件来更改密码。但是,下一个命令需要一个修改后格式的密码文件。目前我只是删除并重新创建文件,但最好只是编辑它,我只是不确定如何:
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 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
这会就地删除与给定正则表达式匹配的行。