С Новым годом! Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/103: Рейтинг темы: голосов - 103, средняя оценка - 4.80
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35

Создать скрипт с записью данных в файл

17.04.2012, 02:42. Показов 19672. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Помогите разобораться
Необходимо:
  1. Создать скрипт, который находит все файлы в указанной директории, имя которых начинается на букву «а». И записывает их названия в файл
  2. Создать скрипт, который из указанного каталога копирует файлы, содержащие более 10 строк, в другой указанный каталог. Список, копируемых объектов сохраняется в отдельном файле.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2012, 02:42
Ответы с готовыми решениями:

Скрипт rss-ленты записью в файл
Здравствуйте. Подскажите, пожалуйста, готовый php-скрипт, который бы сохранял данные в файл rss.xml с указанием skipHours и skipDays. ...

Получение данных о ПК с записью результата в файл
Добрый день, есть файл с перечнем в столбик имен ПК Нужно узнать дату последнего логина и записать в файл примерно так: имя1:дата1 ...

Создание теста на VB с записью данных в файл
Всем привет! помогите пожалуйста создать на VB тест... надо чтобы сначала преподаватель набирал вопросы, эти вопросы сохранялись в txt...

17
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
17.04.2012, 03:03
это по первому. Как то так:
Bash
1
ls -1 $1 | grep ^a > file
По второму потом, спать хочу
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
17.04.2012, 06:14
1)
Bash
1
find . -maxdepth 1 -type f -name "a*" -printf "%f\n" >flist.txt
ищет именно файлы
1
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
17.04.2012, 10:26
а посчитать число строк в файле может например wc
Code
1
2
 wc -l fetchmail.log | egrep -o [0-9]+
12652
1
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
17.04.2012, 12:06
Попробуйте вот этот скриптик. Это второй.
Запускать так script.sh <путь где смотреть файлы> <куда копировать файлы>

Bash
1
2
3
4
5
6
7
8
9
#!/bin/bash
find "$1"  -type f | while read x ; do
#echo "$x"
a=$(cat "$x" | wc -l )
#echo "$a"
if [ "$a" -gt 10 ]; then
cp "$x" "$2" && echo "файл $x скопирован в $2"
fi
done
1
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35
17.04.2012, 13:32  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
1)
Bash
1
find . -maxdepth 1 -type f -name "a*" -printf "%f\n" >flist.txt
ищет именно файлы
Спасибо что откликнулись и помогаете, тут в вашем скрипте какой-то еррор лезет

Bash
1
2
macbook-pro:Desktop homa$ ./linux.sh
find: -printf: unknown option
Добавлено через 20 минут
Цитата Сообщение от izamoo Посмотреть сообщение
Попробуйте вот этот скриптик. Это второй.
Запускать так script.sh <путь где смотреть файлы> <куда копировать файлы>

Bash
1
2
3
4
5
6
7
8
9
#!/bin/bash
find "$1"  -type f | while read x ; do
#echo "$x"
a=$(cat "$x" | wc -l )
#echo "$a"
if [ "$a" -gt 10 ]; then
cp "$x" "$2" && echo "файл $x скопирован в $2"
fi
done
а как подать имя скопированного файла в файл?
0
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
17.04.2012, 13:48
Цитата Сообщение от Homa Посмотреть сообщение
Спасибо что откликнулись и помогаете, тут в вашем скрипте какой-то еррор лезет

Bash
1
2
macbook-pro:Desktop homa$ ./linux.sh
find: -printf: unknown option
Добавлено через 20 минут


а как подать имя скопированного файла в файл?
можно сделать так:
Bash
1
2
3
4
5
6
7
8
9
#!/bin/bash
find "$1"  -type f | while read x ; do
#echo "$x"
a=$(cat "$x" | wc -l )
#echo "$a"
if [ "$a" -gt 10 ]; then
cp "$x" "$2" && echo "файл $x скопирован в $2" >> file
fi
done
но в данном случае вывода в терминал не будет (хотя вам по заданию и не нужно). Сразу проглядел sorry. Файл будет находится в каталоге в котором содержится скрипт.
1
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35
17.04.2012, 13:54  [ТС]
Спасибо всем что помогли (izamoo, огромное спасибо)

Последнее допер сам)

Bash
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
find "$1"  -type f | while read x ; do
#echo "$x"
a=$(cat "$x" | wc -l )
#echo "$a"
if [ "$a" -gt 10 ]; then
cp "$x" "$2" && echo "файл $x скопирован в $2"
echo "$x" >> file.txt
fi
done
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
18.04.2012, 03:32
Цитата Сообщение от Homa Посмотреть сообщение
тут в вашем скрипте какой-то еррор лезет
это может быть такое, если не линуксовая find

на bsd'шной find
Bash
1
find . -maxdepth 1 -type f -name "a*" -exec basename {} \; >flist.txt
0
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35
18.04.2012, 15:13  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
1)
Bash
1
find . -maxdepth 1 -type f -name "a*" -printf "%f\n" >flist.txt
ищет именно файлы
как его можно через for реализовать?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.04.2012, 02:30
через for придётся проверять каждое найденное имя, является ли оно именем файла
0
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35
21.04.2012, 02:26  [ТС]
а подробнее можно?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.04.2012, 03:28
Bash
1
2
3
4
5
6
7
8
9
for fpath in $(ls -A); do
    if [ -f "$fpath" ]; then
        echo "file: $fpath"
    elif [ -d "$fpath" ]; then
        echo "dir: $fpath"
    else
        echo "unknown type: $fpath"
    fi
done
пример
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[guest@localhost ksocket-guest]$ ls -l
итого 4
srw------- 1 guest guest  0 Апр 21 10:15 kdeinit4__0
srwxrwxr-x 1 guest guest  0 Апр 21 10:15 klauncherMT1808.slave-socket
-rw-rw-r-- 1 guest guest 67 Апр 21 10:15 KSMserver__0
[guest@localhost ksocket-guest]$ for fpath in $(ls -A); do
>     if [ -f "$fpath" ]; then
>         echo "file: $fpath"
>     elif [ -d "$fpath" ]; then
>         echo "dir: $fpath"
>     else
>         echo "unknown type: $fpath"
>     fi
> done
unknown type: kdeinit4__0
unknown type: klauncherMT1808.slave-socket
file: KSMserver__0
[guest@localhost ksocket-guest]$
0
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35
07.05.2012, 23:45  [ТС]
Кто подскажет как переписать под for вместо find?

Bash
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
find "$1"  -type f | while read x ; do
#echo "$x"
a=$(cat "$x" | wc -l )
#echo "$a"
if [ "$a" -gt 10 ]; then
cp "$x" "$2" && echo "файл $x скопирован в $2"
echo "$x" >> file.txt
fi
done
0
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
08.05.2012, 09:24
Может так?
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
for i in $(ls "$1"); do
#echo "$i"
if [ -f "$i" ] ; then
echo "$i" | while read x ; do
a=$(cat "$x" | wc -l)
if [ "$a" -gt 10 ]; then
cp "$x" "$2" && echo "файл $x скопирован в $2"
echo "$x" >> file.txt
fi
done
fi
done
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
08.05.2012, 09:31
Цитата Сообщение от izamoo Посмотреть сообщение
echo "$i" | while read x ; do
чего не использовать сразу $i ?
0
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
08.05.2012, 09:35
Цитата Сообщение от Dmitry Посмотреть сообщение
чего не использовать сразу $i ?
можно конечно, просто я тоже учусь . Спасибо за подсказку
1
3 / 3 / 1
Регистрация: 21.04.2009
Сообщений: 35
08.05.2012, 12:58  [ТС]
Я решил почти так же
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
echo "start" > file.txt
for i in $(ls *);
 do
    if [ -f "$i" ];then
    a=$(cat "$i" | wc -l )
    #echo "$a"
    if [ "$a" -gt 10 ]; then
    cp "$i" "$2" && echo "file: $i" &&
    echo "$i" >> file.txt
    fi      
fi
done
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2012, 12:58
Помогаю со студенческими работами здесь

Необходимо создать связной список с записью в файл и восстановлением из файла
Народ выручайте. В задании необходимо создать связной список с записью в файл и восстановлением из файла. Со списком я более-менее...

Как создать файл на компьютере с запароленной учетной записью по сети
Здравствуйте друзья. Стала задача создать файл на компе в сети: private static void CreateDumpUrFile() { ...

Создать программу на С++, которая будет продуцировать цепочки с записью их в файл
Создать программу на С++, которая будет продуцировать цепочки(слова) в трехсимвольном алфавите с записью их в файл, причем длина L цепочек...

Поиск данных по файлам с записью в отдельный файл
Добрый день Помогите с батником который будет в определённом списке файлов находить определённую строку и её дописывать в сводный файл ...

Как очистить файл перед записью данных
Public Sub Write_ini(Section As String, Item As String, Value As String) 'Вот сюда нужна очистка. Call...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru