Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 20.11.2017
Сообщений: 7

Скопировать файлы имя которых состоит из 4-6 символов и содержит символ s или S

19.11.2019, 20:17. Показов 4509. Ответов 4

Студворк — интернет-сервис помощи студентам
Необходимо скопировать все файлы (рекурсивно) из директории /etc, имя которых (именно имя, а не расширение) состоит из четырех, пяти или шести символов и содержит в себе букву s или букву S. Помогите пожалуйста!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2019, 20:17
Ответы с готовыми решениями:

Как записать файлы с расширением .ТХТ, имя которых состоит из двух символов
Помогите пожалуйста ответить на вопрос по информатике!

Удалить обычные файлы (regular file), имя которых содержит символ ~ в случае, если длина их равна 0
Помогите с практической, пробовал, но не смог сделать это в linux

Удалить файлы, имена которых содержат заданный символ или заданную группу символов
Собственно, думаю задание понятно из заголовка. Прошу помочь :) К примеру даны следующие файлы в папке: test1.txt test2.txt ...

4
0 / 0 / 1
Регистрация: 20.11.2017
Сообщений: 7
20.11.2019, 04:22  [ТС]
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Спустя несколько часов проб и ошибок таки сам додумался, как это сделать.
Ниже привожу код, для потомков:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sudo find /etc -type f -name "*s*" | 
awk -F"/" '{
    if (length($NF) < 7 && length($NF) > 3) {
        i = index($NF, ".") - 1;
        name = substr($NF,0,i);
        if (length(name) == 0) { print $0; }
    } else { 
        i = index($NF, ".") - 1;
        if (i < 7 && i > 3) {
            name = substr($NF,0,i);
            if (name ~ /s/) { print $0;}
        }
}}'
| sudo xargs -I{} cpbackup=numbered {} ~/copy_etc2
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
22.11.2019, 11:42
Лучший ответ Сообщение было отмечено Alamart как решение

Решение

Bash
1
2
3
4
find /etc -regextype egrep -type f \
    -regex ".*/[^.]{3,6}(\.[^/]*$)?" \
    -iregex '.*/[^./]*s[^./]*(\.[^/]*$)?' \
    -exec cpbackup=numbered -t $HOME/copy_etc2 +
1
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
23.11.2019, 18:22
Bash
1
find * -prune -type f -name "*[sS]*" -regextype egrep -regex '.{4,6}' -exec cp -b {} -t ~/copy_etc2 \;
Добавлено через 10 минут
Рекурсивно! Сори
Bash
1
find /etc -type f -name "*[sS]*" -regextype egrep -regex '.*/.{4,6}' -exec cp {} -bt ~/copy_etc2 \;
Добавлено через 1 час 40 минут
Bash
1
-iname="*s*"
0
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,871
23.11.2019, 20:31
для сравнения:

PowerShell
1
(gci /etc/* -recurse).where{ $_.basename -match '.{4,6}' -and $_.basename -match 'S' } | Copy-Item SomeFolder
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2019, 20:31
Помогаю со студенческими работами здесь

Как проверить что строка не состоит из одинаковых символов и не содержит указанных символов
Здравствуйте. Подскажите пожалуйста: регулярное выражение которое ищет слова состоящие из одинаковых символов, например aaaa, 1111 и...

Если имя не содержит букв «а» или «и», то отобразить данные в формате: имя, отчество
Постановка задачи: в ячейках столбца А рабочего листа Excel сформировать список из 10 пунктов в формате Фамилия, Имя, Отчество. В ячейках...

Дано целое число N (> 0) и символ C. Вывести строку длины N, которая состоит из символов C
Дано целое число N (&gt; 0) и символ C. Вывести строку длины N, которая состоит из символов C. Нужна программа и блок-схема.

Дано целое число N (> 0) и символ C. Вывести строку длины N, кото-рая состоит из символов C
ребят писал в MC visual, а в dev++ не компилируется, помогите плиз #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

String8. Дано целое число N (> 0) и символ C. Вывести строку длины N, которая состоит из символов C.
Помогите решить. Заранее Спасибо. String8. Дано целое число N (&gt; 0) и символ C. Вывести строку длины N, которая состоит из символов...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru