程式語言
1753620 會員
6097 線上
108797 解決方案
發表新文章

如何在行與行之間插入幾行文字

 
watermelonyu
教授

如何在行與行之間插入幾行文字

請問要如何寫script在行與行之間插入一行或一行以上的文字? 例如:在/etc/hosts的第10行與第11行中間插入2行record, 謝謝!
7則回覆 7
watermelonyu
教授

如何在行與行之間插入幾行文字

插2行record就把while那行改成

while (( $count <= 2 ))

watermelonyu
教授

如何在行與行之間插入幾行文字

那~請問如果要從/etc/passwd的檔案找到特定一個帳號的行數應該要如何寫呢? 謝謝^_^
watermelonyu
教授

如何在行與行之間插入幾行文字

cat -n /etc/passwd 這樣就會加入行數在第一個欄位了
watermelonyu
教授

如何在行與行之間插入幾行文字

有了上述的的行號,你就可以把這個值套到Matthew的script 上用了
watermelonyu
教授

如何在行與行之間插入幾行文字

# grep -n matthewl /etc/passwd

39:matthewl:*:123:20::/home/matthewl:/bin/ksh
watermelonyu
教授

如何在行與行之間插入幾行文字

那再請問如果要用一個字串取代找到的那行的特定欄位呢? 例如:使用一個encrypted passwd字串取代掉所找到那個account的第2欄位~~ 感恩!
watermelonyu
教授

如何在行與行之間插入幾行文字

#grep -wn matthewl /etc/passwd|awk -F":" '{print $1,$3}'

39 aBcDeFGhIjKLm



#grep -wn matthewl /etc/passwd|awk -F":" '{print $1,$3}'|read F1 F2



#sed -n ${F1}p /etc/passwd|sed -e s:${F2}:${EncryptString}:g

matthewl:H0lYunIXForUm:123:20::/home/matthewl:/sbin/sh

---------------------------------------------------------------------------

#!/bin/ksh



EncryptString=$1

SpecificAcc=$2



grep -wn ${SpecificAcc} /etc/passwd|awk -F":" '{print $1,$3}'|read F1 F2

sed -n ${F1}p /etc/passwd|sed -e s:${F2}:${EncryptString}:g



./replaceF2 EncryptString SpecificAcc

---------------------------------------------------------------------------