aa
2004-10-19 15:55:16 UTC
事情是這樣子的:
在使用sed的時候,如果直接使用數字的話,代表的是行數
例如如果有殺掉第十行到第二十行的話 sed -e '10,+10d' input_file > output_file
不過在宣告行數時一般使用的是數字,但是小弟現在想要在宣告行數時使用變數,
例如刪除第355行到第400行(用shell script的寫法)
#!/bin/bash
initial=355
cat input_file | sed -e '$initial,+45d' > outputfile
問題在這裡 ^^^^^^^^
因為$在sed的script中是有其他定義的,所以明顯的這樣一定不行,
如果使用/^$initial/的話,他也讀不到,例底要怎麼樣能用在sed的script中使用
變數來宣告行數?
小弟查了很久卻不得其解,也許是查的方向、方式不對,不知可否請各位知道先進
可以教導一下
謝謝各位
--
[m※ Origin: 臺大電機 Maxwell 站 ◆ From: 61-64-129-231-adsl-tpe.STATIC.so-net.ne
在使用sed的時候,如果直接使用數字的話,代表的是行數
例如如果有殺掉第十行到第二十行的話 sed -e '10,+10d' input_file > output_file
不過在宣告行數時一般使用的是數字,但是小弟現在想要在宣告行數時使用變數,
例如刪除第355行到第400行(用shell script的寫法)
#!/bin/bash
initial=355
cat input_file | sed -e '$initial,+45d' > outputfile
問題在這裡 ^^^^^^^^
因為$在sed的script中是有其他定義的,所以明顯的這樣一定不行,
如果使用/^$initial/的話,他也讀不到,例底要怎麼樣能用在sed的script中使用
變數來宣告行數?
小弟查了很久卻不得其解,也許是查的方向、方式不對,不知可否請各位知道先進
可以教導一下
謝謝各位
--
[m※ Origin: 臺大電機 Maxwell 站 ◆ From: 61-64-129-231-adsl-tpe.STATIC.so-net.ne