|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教文本文件的修改替換問題。
a.txt
------------------
01 02 * * * /home/lhj/listA.sh
03 04 * * * /home/lhj/listB.sh
----------
我想對以上的文本文件進行修改,修改含有listA(listA可以又參數傳入)字符串的一行,我想是不是先刪除這行,然後添加另外一行。請教怎麼寫 |
請教文本文件的修改替換問題。
sed -i "s/${var}/string/g" a.txt |
請教文本文件的修改替換問題。
具體想怎麼改?
[code]
vim file
:g/listA/後面接想要做的修改操作
[/code] |
請教文本文件的修改替換問題。
比如要將第一行listA替換為Clist的話,可以用如下命令實現
#perl -p -i -e 's/listA/Clist/' a.txt |
請教文本文件的修改替換問題。
樓主的意思是listA這個字符串可能是一個傳入的變量:) |
請教文本文件的修改替換問題。
我是想把含有listA的整行全部替換成另外一個字符串。怎麼修改啊,或者先把這個整行刪除也行,然後我可以用>>方法寫入一行的。 |
請教文本文件的修改替換問題。
| 請教文本文件的修改替換問題。
sed -i 's/.\+listA.\+/string/' a.txt |
請教文本文件的修改替換問題。
那就這樣,比如你想把有listA的行替換成Clist的話:
perl -p -i -e 's/.*listA.*/Clist/' a.txt |
請教文本文件的修改替換問題。
謝謝,還有個問題,就是如果listA不存在a.txt中,則不替換,直接添加一行字符串。這個不存在怎麼判斷? |
請教文本文件的修改替換問題。
如果sed版本高些就用
sed -i "s/源字符/你想改成的字符/g" a.txt
否則:
sed -e "s/源字符/你想改成的字符/g" a.txt > /tmp/tmp$$
rm -f a.txt
mv /tmp/tmp$$ a.txt |
請教文本文件的修改替換問題。
| 請教文本文件的修改替換問題。
| 請教文本文件的修改替換問題。
................如果俺回答你的問題,怕對你以後的生活投下陰影 :D |
請教文本文件的修改替換問題。
| 請教文本文件的修改替換問題。
那我再問這樣的方法好不好(本人對shell不是很懂)
root@zjhc411 lhj]# sed -e '/listA/s/.*/list is found/;t;$i \ listA not found ;' a.txt > b.txt
但是這樣的話,如果開始b文件為空,則最後始終只有一行。這樣不好,該如何解決謝謝? |
請教文本文件的修改替換問題。
上面的語句是把
sed -e '/listA/s/.*/list is found/;t;$i \ listA not found ;' a.txt
的結果寫入b.txt
不管b.txt以前有什麼內容,都會被命令的結果覆蓋 |
請教文本文件的修改替換問題。
是啊,這個我知道,那如何把
dfa afd
dfa afd
listA not found ;
01 02 00 a /home/lhj/listB.sh
這樣的結果生成在a.txt文件中呢? |
請教文本文件的修改替換問題。
dding~~~~~~~~~~~~~ |
請教文本文件的修改替換問題。
學習 |
| |