2013-05-05 51 views

回答

0
{ 
    if (NR < start_index && NR > end_index) 
    { 
     print $0; 
    } 
} 

這是一個AWK腳本。運行此如下(只要你想改變的start_indexend_index值。

awk -f your_script.awk -v start_index=4 end_index=5 text.csv > new_filename

所以基本上你沒有抄襲這屬於該範圍內的線路。您完成後,您可以刪除原始文件。使用rm如果你想

0

你需要雙引號和環境變量和「刪除」命令,你也可以將你的shell變量名更有意義之間的空間。

end=38 
sed "4,$end d" text.csv > new.csv 
+0

OP和你的答案之間的另一個區別是'$ end'和'd'命令之間的空間。 – jackrabbit 2013-05-05 09:53:10

+0

http://www.grymoire.com/Unix/Sed.html#uh-30 – Steve 2013-05-05 09:56:16

+0

當然。然而,我的觀點是,如果沒有空間,它就無法工作,因爲shell會嘗試插入一個名爲'ad'的變量(在OP的例子中)。 – jackrabbit 2013-05-05 10:01:02