Balbec |
28-05-2008 12:39 812721 |
Информация о содержимом файла: подсчет слов и т.д.
Привет. Нужно написать программку, аналог команды wc, которая получала бы в качестве аргумента имя иекстового файла и выводила на экран информацию о том, сколько символов, слов и строк в текстовом файле. Я догадываюсь, что это нужно сделать с помощью функций AWK, но как.
Помогите, а?
|
неинформативное название темы
|
Не обязательно awk, думаю легче использовать python или perl, благо ониустановлены по-умолчанию едвали не во всех дистрибутивах.
Например так:
Код:
#-*-coding:UTF-8-*-
#кодировка - юникод
import sys
def main():
if(len(sys.argv)!=2):
print "Введите в качество аргумента имя файла"
sys.exit(2)#аналог сишного return 2;
#не реагируем если пользователь указал 1 аргумент, в этом случае в переменной sys.argv должно #быть 2 элемента: имя скрипта и имя файла
filename=sys.argv[1]
try:
f=open(filename)
txt=f.read()
f.close()
except:
print "Файл "+filename+" не найден"
sys.exit(2)
#проверяем существование файла
strings=txt.split("\n")[:-1]
#делим содержимое файла на строки
i=0
words=[]
while i<len(strings):
words=words+strings[i].split(" ")
i=i+1
#делим строки на слова
print "В файле "+filename
print str(len(strings))+" строк"
print str(len(words))+" слов"
print str(len(txt))+" символов"
#вывод в консоль
sys.exit(0)#return 0
if __name__ == "__main__":
main()
Рекомендую почитать книжку по Питону,
|
Время: 23:40.
© OSzone.net 2001-