2013-11-24 67 views
1

我想用稍微不同的輸入多次運行一個程序。輸入文件是一個很長的.in文件,我只想編輯該文件特定行中的一個數字。所以最好我想編寫一個Unix腳本,重複此過程數次:編寫一個將編輯.in文件的某一行的Unix shell腳本


  1. 編輯的。在文件
  2. 線運行它使用文件作爲輸入程序
  3. 重命名從程序的輸出.NC文件並保存它

我完全新的這種腳本,而我敢肯定我可以弄清楚如何做這個過程的第2步和第3步,我不知道如何做第二步。是否可以使用腳本來自動編輯.in文件,我該怎麼做?

+2

嘗試使用'sed'命令進行內聯編輯 – JoeC

+1

,因爲@JoeC表示使用與該行匹配的正則表達式,sed將是您最好的選擇。文件中是否有其他類似的行? – Goran

+1

如果您確定行號始終相同,您可以使用'head'和'tail'命令將文件拆分爲一半,然後將它們連接在一起,並使用'cat'將第一部分,新行,然後是下半場。 – Goran

回答

6

這裏是一個應該讓你開始一個例子:

$ echo cat says meow >say.txt 
$ sed -i s/meow/meowwwwwww/ say.txt 
$ cat say.txt 
cat says meowwwwwww 

讓我知道如果你需要更多的幫助。