2011-12-23 174 views
0

我試圖編寫一個腳本,它以兩個文件和一個數字作爲參數,並將該行數從一個文件複製到另一個文件。下面是我有:使用sed編寫一個腳本,將一行文本從一個文件複製到另一個文件

#!/bin/bash 

file1=$1 
file2=$2 
lines=$3 

sed -n '1,\'$lines\'p' $file1 > $file2 

,問題顯然是$lines參數的格式。什麼是正確的方法來做到這一點?謝謝!

+3

頭-n $線$文件1> $文件2 – dschultz 2011-12-23 02:33:28

+0

呵呵。完成。因爲它沒有直接回答你的問題,所以我對它做了評論! – dschultz 2011-12-23 03:08:22

回答

2

SED -n -e 「1,$ {行} P」 $文件1> $ file2的

交替:

頭-n $ $行文件1> $ file2的

+1

包含文件名的變量必須用雙引號括起來 – 2011-12-24 16:40:20

1

你再也不得不逃避單引號。做這樣的事情 -

#!/bin/bash 

file1=$1 
file2=$2 
lines=$3 

sed -n '1,'$lines'p' $file1 > $file2 

OR

sed -n "1,"$lines"p" $file1 > $file2 
+0

包含文件名的變量必須用雙引號 – 2011-12-24 16:39:52

相關問題