不好意思
請教一下前輩們
因剛接觸Linux
目前我在bash上遇到的問題
我寫了一個test.sh
我想要把列出的數值(目前只會做到這),當成連續的變數
然後使用指令在hosts文件對應的變數(行數)插入#(註解掉那一行)
使用nl 列出/etc/hosts文件裡對應grep 數值的項目
並awk取得行數與使用sort照順序大小重新排列
#!/bin/bash
nl /etc/hosts | grep -E \
"192.168.0.100|\
192.168.0.101|\
192.168.10.123|\
192.168.10.234"\
| awk {'print $1'} \
| sort -r
./test.sh 得到的行數數值 例如為
200
201
202
300
不知道該怎麼把以上列出的數值變成連續變數 $var1..$var4
然後用指令把hosts文件中 第$var1 $var2 $var3 $var4 行的第一個字元插入#
如果前輩有更好的寫法
再請各位前輩不吝教導了
你要的效果,只是要註解掉 /etc/hosts 檔案中,某些特定 IP 吧?怎麼會搞得這麼麻煩?
只要一個 sed 指令就行了(以下指令就一行,不需要換行)
sed -i '/^\(192.168.0.100\|192.168.0.101\|192.168.10.123\|192.168.10.234\)/s//#\1/' /etc/hosts