2013-10-22 97 views
1

我想在文件末尾添加特定單詞。 我的文件是一個包含mac.txt在行尾添加特定單詞

00-1E-B8-05-7C-74 

我想補充:p=abcde到底。 我想:

cat mac.txt | sed '$/:p=1234' > mac2.txt 
cat mac.txt | sed -e 's/$/:p=1234/' > mac2.txt 
sed 's/$/:p=1234/' mac.txt > newmac.txt 
sed 's/\(.*\)/\1:p=1234/' <mac.txt> outfile.txt 

,但我想他們在做什麼是添加文本到下一行像

00-1E-B8-05-7C-74 
:p=abcde 

我的輸出是:

00-1E-B8-05-7C-74:p=abcde 
+2

我無法重現該問題。第二種方法應該起作用。 – Beta

+0

甚至嘗試過這個相同的問題sed -i「s/$ /:p = 1234 /」mac.txt – user2901827

回答

0

隨着awk你可以這樣做:

awk '/00-1E-B8-05-7C-74/ {$0=$0":p=abcde"} 1' file 
00-1E-B8-05-7C-74:p=abcde 

它將行之後添加:p=abcde00-1E-B8-05-7C-74


更新:

awk '$0~m {$0=$0":p=abcde"} 1' m=$(cat mac.txt) file 
+0

我會嘗試awk,而不是00-1E-B8-05-7C-74,我想讀取contennt來自mac.txt – user2901827

+0

Se我的更新版本 – Jotne

0
  1. 第一個命令應由於這不是有效的sed表達式,因此失敗。
  2. 第二個命令應該可以工作。
  3. 第三個命令應該可以工作。
  4. 第四個命令是矯枉過正,但也應該起作用。

示範:

$ cat mac.txt 
00-1E-B8-05-7C-74 
$ cat mac.txt | sed '$/:p=1234' > mac2.txt 
sed: 1: "$/:p=1234": invalid command code/
$ cat mac.txt | sed -e 's/$/:p=1234/' > mac2.txt 
$ cat mac2.txt 
00-1E-B8-05-7C-74:p=1234 
$ sed 's/$/:p=1234/' mac.txt > newmac.txt 
$ cat newmac.txt 
00-1E-B8-05-7C-74:p=1234 
$ sed 's/\(.*\)/\1:p=1234/' <mac.txt> outfile.txt 
$ cat outfile.txt 
00-1E-B8-05-7C-74:p=1234 
$ 
相關問題