我正在尝试用参数 2 替换第二个字符串。
脚本接受 2 个参数,然后脚本应该检查第一个参数是否存在于文件中,如果存在,它应该检查它存在于哪一行,并且它应该只替换该文件中的第二个字符串。
例如:在运行时我传递了 2 个参数 1 和 2
./run.sh 1 2
脚本应该检查参数 1 是否存在,如果不存在,它应该将参数写入文件......现在正在发生......
现在如果我将参数 1 3 传递给脚本
脚本应该搜索参数 1 的位置并将第二个字符串(即 2)替换为 3..
我怎样才能做到这一点???
这是我尝试过的
#!/bin/sh
#
FILE_PATH=/home/user/Desktop/script
FILE_NAME=$FILE_PATH/new.txt
echo $1
echo $2
param1=`cat $FILE_NAME | grep $1
if [ -z "$param1" ]
then
echo $1:$2 >> $FILE_NAME
else
param2=`cat $FILE_NAME | grep $1`
fi
我所指的文件将包含这样的文本
+abc.3434.res:192.168.2.34:5400
+efg.3123.co3:192.168.2.24:5440
+klm.gsdg.cm5:192.168.2.64:5403
如果我将参数 1 作为 abc.3434.res 并将参数 2 作为 156.666.554.778 传递,则脚本应替换
+abc.3434.res:192.168.2.34:5400 with
+abc.3434.res:156.666.554.778:5400