2011-10-05 127 views
0

我試圖製作一個腳本,用於查找以.g結尾的目錄中的所有文件,然後一旦找到該文件,它將在該文件中查找「ABCDEFG」。Bourne Shell腳本問題

如果文件中有「ABCDEFG」,則只有在文件中沒有「ABCDEFG」時纔會在文件中顯示註釋。

這是一個練習題,我只是無法完成學校。

#!/bin/sh 
    while [grep -l *.g != 0] 
    file = grep -l *.g 
    grep -i ‘[ABCDEFG]*$’ /usr/dict/$file 

這是我卡住的地方。

回答

1

嘗試 grep -c ABCDEFG * .g | grep':1''

作爲一個很好的起點,可以得到一個以*結尾的文件列表,並且只有一次ABC ...。

0

將找到的文件分配給變量,然後再次grep以查看它是否包含ABCDEG,如果爲true,則繼續while循環,如果爲false,則添加註釋並繼續循環。此外,你錯過了一段時間。

0

您需要退後一步,先閱讀一下語法。 嘗試使用手冊頁help命令。

$ man sh 
... 
$ man bash 
... 
$ help while 
... 
$ help if 
... 
$ help [ 
... 

使用/在手冊頁中搜索術語。
例如。嘗試PARAMETERSCONDITIONAL EXPRESSIONS