После создания сценария пишет, что его нет!.

Автор Babay, 10 февраля 2012, 11:19:17

« назад - далее »

0 Пользователи и 8 гостей просматривают эту тему.

Babay

Здравствуйте, уважаемые спецы!
Подскажите: что я делаю не так?

Читаю книгу по шелл. Для продолжения обучения надо сделать сценарий.
Создаю файл (student_tot.awk) , вношу в него все что надо...

Цитировать#! /bin/awk -f
# Все строки комментариев должны начинаться с символа '#'.
# Имя файла: student_tot.awk
# Командная строка: student_tot.awk grade.txt
# Вычисление суммарного и среднего рейтинга учеников секции.

# Сначала выводим заголовок.
BEGIN {
  print "Student   Date   Member   Grade   Age Point Max"
  print   "name      joined   number          gained point available"
  print   "================================================================="
  }
 
  # Суммируем рейтинг учеников.
  tot+=$6
 
# В завершении выводим суммарный и средний рейтинг.
END {
   print "Club student total points: " tot
   print "Average club student points: " tot/NR
   }

Затем надо сделать его исполняемым.
Через терминал пробую сделать его исполняемым:

Цитироватьal@debian:~$ chmod u+x student_tot.awk
chmod: невозможно получить доступ к «student_tot.awk»: Нет такого файла или каталога
al@debian:~$

Фигушки - "нет такого файла..."

Смотрю каталог. А вот он!

Цитироватьal@debian:~$ ls -l
итого 124
-rw-r--r--  1 al al   255 Фев  6 14:02 data.f
drwxr-xr-x  2 al al  4096 Фев  8 18:33 dwhelper
drwxr-xr-x 11 al al  4096 Фев  2 20:29 firefox
-rw-r--r--  1 al al   178 Фев  6 23:32 grade.txt
-rw-r--r--  1 al al 51591 Янв 27 07:50 hs_err_pid4287.log
-rw-r--r--  1 al al    95 Фев  4 17:11 myfile
-rw-r--r--  1 al al    50 Фев  1 21:49 source.list
-rwxrwxrwx  1 al al   851 Фев 10 10:03  student_tot.awk
drwxr-xr-x  3 al al  4096 Янв 23 21:15 VirtualBox VMs
drwxr-xr-x  2 al al  4096 Фев  6 08:42  Видео
drwxr-xr-x  6 al al  4096 Фев  5 08:16  Документы
drwxr-xr-x  2 al al  4096 Фев  5 10:40 Загрузки
drwxr-xr-x  3 al al  4096 Фев  5 16:01  Загрузки
drwxr-xr-x  3 al al  4096 Фев  7 17:36 Изображения
drwxr-xr-x  2 al al  4096 Фев  5 11:34  Музыка
drwxr-xr-x  2 al al  4096 Янв 15 13:57 Общедоступные
drwxr-xr-x  3 al al  4096 Фев 10 06:31 Рабочий стол
drwxr-xr-x  2 al al  4096 Янв 15 13:57 Шаблоны
al@debian:~$


Думаю "ладно, факир был пьян...", "не мытьем, так катаньем"! - через гуй делаю его исполняемым и набираю в терминале student_tot.awk grade.txt


Цитироватьal@debian:~$ student_tot.awk grade.txt
bash: student_tot.awk: команда не найдена
al@debian:~$


Вот и не верь после этого во всякую... )))

Где я ошибся?
(2-ой день голову ломаю!)


Ин дер гроссе фамилиен нихт клювен клац-клац...

Александр Кряжев

Быть может, нужно как-то так:
./student_tot.awk grade.txt?
Хотя, конечно, странно это всё.

Babay

#2
Цитата: Александр Кряжев от 10 февраля 2012, 12:00:34Быть может, нужно как-то так:
Код: [Выделить]

./student_tot.awk grade.txt

?

Тоже самое!  ???

Цитироватьal@debian:~$ ./student_tot.awk grade.txt
bash: ./student_tot.awk: Нет такого файла или каталога
al@debian:~$ ls -l
итого 124
-rw-r--r--  1 al al   255 Фев  6 14:02 data.f
drwxr-xr-x  2 al al  4096 Фев  8 18:33 dwhelper
drwxr-xr-x 11 al al  4096 Фев  2 20:29 firefox
-rw-r--r--  1 al al   178 Фев  6 23:32 grade.txt
-rw-r--r--  1 al al 51591 Янв 27 07:50 hs_err_pid4287.log
-rw-r--r--  1 al al    95 Фев  4 17:11 myfile
-rw-r--r--  1 al al    50 Фев  1 21:49 source.list
-rwxrwxrwx  1 al al   851 Фев 10 10:03  student_tot.awk
drwxr-xr-x  3 al al  4096 Янв 23 21:15 VirtualBox VMs
drwxr-xr-x  2 al al  4096 Фев  6 08:42  Видео
drwxr-xr-x  6 al al  4096 Фев  5 08:16  Документы
drwxr-xr-x  2 al al  4096 Фев  5 10:40 Загрузки
drwxr-xr-x  3 al al  4096 Фев 10 11:14  Загрузки
drwxr-xr-x  3 al al  4096 Фев  7 17:36 Изображения
drwxr-xr-x  2 al al  4096 Фев  5 11:34  Музыка
drwxr-xr-x  2 al al  4096 Янв 15 13:57 Общедоступные
drwxr-xr-x  3 al al  4096 Фев 10 06:31 Рабочий стол
drwxr-xr-x  2 al al  4096 Янв 15 13:57 Шаблоны
al@debian:~$

(Монопенисуальная амбивалентность... :-\).

Цитата: Александр Кряжев от 10 февраля 2012, 12:00:34Хотя, конечно, странно это всё.

Да и не только это!
Я тут, понемногу, в Дебиане, много из сверхестественного для себя открываю...  :D
Ин дер гроссе фамилиен нихт клювен клац-клац...

ihammers

Цитата: Babay от 10 февраля 2012, 14:55:53
...
Да и не только это!
Я тут, понемногу, в Дебиане, много из сверхестественного для себя открываю...  :D
Натравите awk на ваш файл:
awk -f student_tot.awk
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Babay

#4
Цитата: ihammers от 10 февраля 2012, 15:26:20Натравите awk на ваш файл:
Код: [Выделить]

awk -f student_tot.awk

Цитироватьal@debian:~$ awk -f student_tot.awk
awk: cannot open student_tot.awk (No such file or directory)
al@debian:~$ ls -l
итого 120
-rw-r--r--  1 al al   255 Фев  6 14:02 data.f
drwxr-xr-x  2 al al  4096 Фев  8 18:33 dwhelper
drwxr-xr-x 11 al al  4096 Фев  2 20:29 firefox
-rw-r--r--  1 al al   178 Фев  6 23:32 grade.txt
-rw-r--r--  1 al al 51591 Янв 27 07:50 hs_err_pid4287.log
-rw-r--r--  1 al al    95 Фев  4 17:11 myfile
-rw-r--r--  1 al al    50 Фев  1 21:49 source.list
-rwxrwxrwx  1 al al   851 Фев 10 10:03  student_tot.awk
drwxr-xr-x  3 al al  4096 Янв 23 21:15 VirtualBox VMs
drwxr-xr-x  2 al al  4096 Фев  6 08:42  Видео
drwxr-xr-x  6 al al  4096 Фев  5 08:16  Документы
drwxr-xr-x  3 al al  4096 Фев 10 11:14  Загрузки
drwxr-xr-x  3 al al  4096 Фев  7 17:36 Изображения
drwxr-xr-x  2 al al  4096 Фев  5 11:34  Музыка
drwxr-xr-x  2 al al  4096 Янв 15 13:57 Общедоступные
drwxr-xr-x  3 al al  4096 Фев 10 06:31 Рабочий стол
drwxr-xr-x  2 al al  4096 Янв 15 13:57 Шаблоны
al@debian:~$



Вот так-то: хоть стой, хоть падай! ???

Ин дер гроссе фамилиен нихт клювен клац-клац...

ihammers

Цитата: Babay от 10 февраля 2012, 16:26:55
Цитироватьal@debian:~$ awk -f student_tot.awk
awk: cannot open student_tot.awk (No such file or directory)
al@debian:~$ ls -l
итого 120
...
-rwxrwxrwx  1 al al   851 Фев 10 10:03  student_tot.awk
...
Вот так-то: хоть стой, хоть падай! ???
Попробуйте указать полный путь.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Babay

#6
Цитата: ihammers от 10 февраля 2012, 16:42:37Попробуйте указать полный путь.

Цитироватьal@debian:~$ awk -f /home/al/student_tot.awk
awk: cannot open /home/al/student_tot.awk (No such file or directory)
al@debian:~$


Попробовал (я же правильно указал путь?) - безрезультатно! Все тоже самое!

Цитироватьal@debian:~$ ls
data.f     hs_err_pid4287.log  VirtualBox VMs  Изображения    Шаблоны
dwhelper   myfile               Видео           Музыка
firefox    source.list          Документы      Общедоступные
grade.txt   student_tot.awk     Загрузки       Рабочий стол
al@debian:~$


З.Ы.

И знаете, ihammers , такое происходит не только с  этим файлом-сценарием!  Такое сплошь и рядом с другими файлами...
(Я уже все больше и больше склоняюсь  к "преступной" для дебиановца мысли - переустановки ОС!
А то он у меня, зараза, даже установочные диски  писать не хочет... Да много чего еще "не так"!!!

Видимо, я напутал что-то с настройками, а что именно - не помню/не знаю! Вот и придется переустанавливаться и начинать все с нуля!

Еще немного подожду...

Что посоветуете/скажите?)




Ин дер гроссе фамилиен нихт клювен клац-клац...

ihammers

Цитата: Babay от 10 февраля 2012, 17:38:01
...
И знаете, ihammers , такое происходит не только с  этим файлом-сценарием!  Такое сплошь и рядом с другими файлами...
(Я уже все больше и больше склоняюсь  к "преступной" для дебиановца мысли - переустановки ОС!
А то он у меня, зараза, даже установочные диски  писать не хочет... Да много чего еще "не так"!!!

Видимо, я напутал что-то с настройками, а что именно - не помню/не знаю! Вот и придется переустанавливаться и начинать все с нуля!

Еще немного подожду...

Что посоветуете/скажите?)
Набирается ли файл через tab? 

Работает ли:

awk -f *.awk


PS: набираем букву s и нажимаем несколько раз tab.
PS:: скорей всего у вас в названии файла пробел или другой символ.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

orlyanuch

#8
Ещё может быть, что файл начинается с пробела. Такое бывало.
Сейчас скопировал вывод в текстовый редактор:

-rw-r--r--  1 al al    95 Фев  4 17:11 myfile
-rw-r--r--  1 al al    50 Фев  1 21:49 source.list
-rwxrwxrwx  1 al al   851 Фев 10 10:03  student_tot.awk
                                                                    ^^
файл в самом деле начинается с пробела
Edimus, ut vivamus; nоn vivimus, ut edamus.

Babay

#9
Цитата: ihammers от 10 февраля 2012, 17:53:27Набирается ли файл через tab?

В смысле "использовался ли tab при наборе файла"? Если это то,  -  да, я его использовал!

Цитата: ihammers от 10 февраля 2012, 17:53:27Работает ли:
Код: 

awk -f *.awk
[/quote]

ДА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Цитироватьal@debian:~$ awk -f *.awk
Student   Date   Member   Grade   Age Point Max
name      joined   number          gained point available
=================================================================


((Но, не совсем!  :-[) Тут еще, после линии, должны были бы выйти 7 строк - список из данных 5-ти студентов и подитоживающие строки. Но хоть так!!!  Всё лучше, чем "Ничего!" ))))

Цитата: ihammers от 10 февраля 2012, 17:53:27
PS: набираем букву s и нажимаем несколько раз tab.

Вот этого не понял!

Цитата: ihammers от 10 февраля 2012, 17:53:27
PS:: скорей всего у вас в названии файла пробел или другой символ.
Цитата: orlyanuch от 10 февраля 2012, 17:59:13файл в самом деле начинается с пробела

А что делать? Как этот пробел указывать (или устранить?).
(Извините, просто уже мозги от всего произошедшего выключаются, не хотят работать - требуют готового решения! )))) (К тому же, страсть как хочется набрать код и увидеть, что "Получилось!!!", и страсть как не хочется опять откладывать все на завтра!).
Ин дер гроссе фамилиен нихт клювен клац-клац...

ihammers

Цитата: Babay от 10 февраля 2012, 18:36:29
Цитата: ihammers от 10 февраля 2012, 17:53:27
PS: набираем букву s и нажимаем несколько раз tab.

Вот этого не понял!

Цитата: ihammers от 10 февраля 2012, 17:53:27
PS:: скорей всего у вас в названии файла пробел или другой символ.
Цитата: orlyanuch от 10 февраля 2012, 17:59:13файл в самом деле начинается с пробела

А что делать? Как этот пробел указывать (или устранить?).
(Извините, просто уже мозги от всего произошедшего выключаются, не хотят работать - требуют готового решения! )))) (К тому же, страсть как хочется набрать код и увидеть, что "Получилось!!!", и страсть как не хочется опять откладывать все на завтра!).
По tab можно почитать сдесь.
А по пробелам, нужно использовать экранирующий знак "\", то есть если файл начинается с пробела команда будет выглядеть:
less \ test.txt

PS: устранить только переименовыванием файла.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

orlyanuch

#11
Увидеть все файлы, начинающиеся с пробела, можно так:
ls -l \ *
Ну а переименовать, если начинается с пробела:
mv \ student_tot.awk student_tot.awk

Открыть содержимое (спойлер)
Книга, которую читаешь, называется "Linux и Unix: программирование в shell" Дэвида Тэйнсли?
[свернуть]
Edimus, ut vivamus; nоn vivimus, ut edamus.

Babay

#12
Спасибо большое всем откликнувшимся!!! (Реально помогли!!!).
Завтра досконально буду читать/разбираться... сил\терпения уже нет!

ЦитироватьКнига, которую читаешь, называется "Linux и Unix: программирование в shell" Дэвида Тэйнсли?

Да, она самая! (Как она Вам? Может еще какую-нибудь книгу посоветуете?)
(Только у меня здесь случай - вообще"туши свет" : к моему тупизму здесь еще прибавляется и куча опечаток/ошибок от издателя/переводчика этого djvi - вместо { часто стоит ( , в некотрых местах пропущена * и т.д. т.п. ! Вот так и "воюю" по-тихоньку! ))).

P.S.

ЦитироватьПо tab можно почитать сдесь.

А-а-а... так я это знал (просто не понял!!! )))
Ин дер гроссе фамилиен нихт клювен клац-клац...

orlyanuch

Открыть содержимое (спойлер)
Книга хорошая, я тоже по ней учился. И опечаток в скриптах немеряно... Поэтому, лучше примеры не копировать, а набирать самому. Так, кстати, намного лучше понимаешь ;)
Я там все примеры прошёл. Спрашивай, что будет непонятно, обязательно поможем.
[свернуть]
Edimus, ut vivamus; nоn vivimus, ut edamus.

Babay

Здравствуйте, уважаемые спецы!
Опять я со своей "бедой"! 
Продолжаю "воевать" с пробелом (тут, оказывается, все не так просто, как может показаться на первый взгляд!) и потому прошу помощи в таком вопросе:
Где, в каких-таких настройках, в Дебиане, устанавливают в качестве какого-то разделителя "пробел"?

(Вспомнил (или только показалось что вспомнил?!), что когда-то, думается что сразу же после сноса убунту и установки дебиана, я "ковырялся" где-то (зачем, по какому вопросу - не помню!) в настройках чего-то и там, в качестве разделителя, указывал "пробел"!
Подозреваю, что вот он-то мне и "делает моск" в моих скриптах и вообще в терминале!
Понимаю, что глупая просьба, но может кто/что знает/вспомнит по этому вопросу!
Иначе всё - "хана", только переустановка!
Невозможно уже... >:().
Ин дер гроссе фамилиен нихт клювен клац-клац...