| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > *NIX системы: Общие вопросы > все символы в файле - bash |
| Автор: Larrr 10.2.2006, 10:43 |
| Задача - написать скрипт в bash, который бы находил все различные символы файла. Пока что имеется следующий вариант cat c.txt | ( x=0; while read lin; do echo "$lin" >> temp.txt ; x=`expr $x + 1` ; \ if [ $x -gt 100 ]; then cat temp.txt | sed 's/\(.\)/\1\n/g' | sort | uniq | \ perl -e 'while(<>){ $_ =~ s/\s*$//; print $_ ; }' > temp.txt ; fi ; done ; \ cat temp.txt | sed 's/\(.\)/\1\n/g' | sort | uniq | perl -e \ 'while(<>){ $_ =~ s/\s*$//; print $_ ; }' ) который работает медленно, неефективно и к тому же совершенно непрозрачно написанный. Есть у кого-нибудь идеи, как его сделать быстрым, эффективным и красивым? |
| Автор: bilbobagginz 10.2.2006, 11:20 | ||
пока. |
| Автор: Larrr 10.2.2006, 14:51 |
| 2bilbobagginz 1/ есть файл, в нем содержатся символы, например aaabbc - на выход надо подать a b c, то есть все символы, которые встретились в данном файле хотя бы однажды 2/ я несколько запутанно объяснила цель, прошу прощения - цель не исправить предложенный код, а предложить что-то другое. 3/буду внимательнее к терминологии, спасибо |
| Автор: bilbobagginz 10.2.2006, 16:14 |
| ок, теперь есть сомнения другого рода: насколько мне понятно теперь, это домашка.. я правильно понимаю ? если нет: скажи что ты попробовала и что же вышло, и дальше пойдем думать в чем же проблема. для начала хотелось бы знать
а если же ДА, то этой домашке здесь не место, и мы ее перенесем. |
| Автор: Larrr 10.2.2006, 19:28 |
| нет, это не домашка задачу я решаю потому, что мне надо как-то учиться программировать в линуксах - я придумываю задачи и пытаюсь их решать эта задача тоже взята с потолка, поэтому в ней могут быть непонятки Отвечаю на вопросы -файлы содержащие текст + возможны какие-то дополнительные символы а-ля ?^# -размер текстового файла ограничим 1Мб(в формате .txt) -желательно экономить, но необязательно |
| Автор: bilbobagginz 11.2.2006, 01:42 |
| а решения обязательно должно быть написано на bash ?! |
| Автор: Larrr 11.2.2006, 12:10 |
| немного bash, немного sed, немного awk, немного perl - это все что я знаю |
| Автор: MAKCim 11.2.2006, 12:49 | ||
поиск примитивный, скорее всего долгий при больших размерах файла, но зато понятный алгоритм |