这是一个帮助我们创建 dhcpd.conf 文件的脚本。
示例输入(例如 mac-tab-;-tab-IP)
DC:D3:21:75:61:90 ; 10.25.131.17
;
Run Code Online (Sandbox Code Playgroud)
预期产出
Host 27-48 { hardware ethernet DC:D3:21:75:61:90 ; fixed-address 10.25.131.17 ; }
#host 27-48 { hardware ethernet ; fixed-address ; }
Run Code Online (Sandbox Code Playgroud)
目前输出的行是这样的:
Host 27-48 { hardware ethernet 00:16:6B:C8:3D:C9 ; fixed-address 10.25.129.185
Run Code Online (Sandbox Code Playgroud)
我被困在代码中的特定行
outputLine="Host $((names[i]))-$((startingNumber+counter)) { hardware ethernet $first ; fixed-address $second"
Run Code Online (Sandbox Code Playgroud)
如果我尝试添加 ; }
outputLine="Host $((names[i]))-$((startingNumber+counter)) { hardware ethernet $first ; fixed-address $second ; }"
Run Code Online (Sandbox Code Playgroud)
我明白了:
; } 27-48 { hardware ethernet 00:16:6B:C8:3D:C9 ; fixed-address 10.25.129.185
Run Code Online (Sandbox Code Playgroud)
问题是,每当我将“;}”附加到上一行的末尾时,它就会覆盖该行的开头。我尝试了一些技巧来解决这个问题,例如将上面的行写入字符串,然后尝试附加到该字符串,但出现了同样的问题。我有一个想法将整个内容导出到一个文件,然后将文件重新加载到一个数组中,以便我可以追加,但这似乎有点矫枉过正。
for ((j=1; j<=${sizes[i]}; j++ …Run Code Online (Sandbox Code Playgroud) 这是我的test.env
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PASS=1234
Run Code Online (Sandbox Code Playgroud)
我想用它test.sh 来替换 to 中的值test.env:
RABBITMQ_HOST=rabbitmq1
RABBITMQ_PASS=12345
Run Code Online (Sandbox Code Playgroud)
这是我的test.sh
#!/bin/bash
echo "hello world"
RABBITMQ_HOST=rabbitmq1
RABBITMQ_PASS=12345
Deploy_path="./config/test.env"
sed -i 's/RABBITMQ_HOST=.*/RABBITMQ_HOST='$RABBITMQ_HOST'/' $Deploy_path
sed -i 's/RABBITMQ_PASS=.*/RABBITMQ_PASS='$RABBITMQ_HOST'/' $Deploy_path
Run Code Online (Sandbox Code Playgroud)
但我有错误
sed: 1: "./config/test.env": invalid command code .
sed: 1: "./config/test.env": invalid command code .
Run Code Online (Sandbox Code Playgroud)
我该如何修复它?
我有一个我命名的文件poscar1.cif,我想在此文件的特定行插入变量的内容.
例如,line 24,当前读取:
_cell_length_a
Run Code Online (Sandbox Code Playgroud)
我想添加我的变量的内容a(在我的函数中定义a=5.3827),这样该行现在读取:
_cell_length_a 5.3827
Run Code Online (Sandbox Code Playgroud)
有没有办法用sed或awk做到这一点?我正在使用bash脚本来完成此任务(不幸的是,完整的脚本太大而无法发布).