Задать вопрос
  • Неправильный сбор ноутбука или руки крюки?

    Отдайте в сервис. Как надоели уже умельцы, которые чуть ли не ножницами лезут разбирать ноутбук. Ну хоть бы набор отвёрток купили подходящих. Если не подходит, даже чуть-чуть - не надо пытаться откручивать. Иначе придётся потом мучиться с откручиванием. Ну и откручивать надо равномерно, нельзя открутить все винты на системе охлаждения, а один даже не стронуть -перекос радиатора легко сколет кристалл чипа (процессора, видео и чего угодно).
    Ответ написан
    8 комментариев
  • Как сделать массовое переименование файлов в директории?

    shambler81
    @shambler81 Куратор тега Linux
    find /var/www/ -type f -exec mv {} {}_renamed \;

    find-рекурсивный поиск от заданного каталога и ниже
    /var/www- где искать, если в текущем каталоге то можно заменить на .
    -type f - только файлы
    -exec выполнить с найденным
    mv переместить
    {} то что найдено в данном случае имя файла
    \; - просто закончит команду.
    Проверить можно так, вместо переименовывания вы получите просто принт самих команд.

    find /var/www/ -type f -exec echo {} {}_renamed \;

    5fb18a8d63453365594996.png
    Отметить решенным, спасибо кэп.
    Ответ написан
    Комментировать
  • Как сделать массовое переименование файлов в директории?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    rename -e 's/(.*)/$1_renamed/' *
    Ответ написан
    1 комментарий
  • Как сделать массовое переименование файлов в директории?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    есть много способов как переименовать, вот нагугленные примеры Переименование файлов с помощью find, sed и xargs
    конкретно в вашем случае можно сделать так:
    ls -1 |awk '{print $0,$0"_renamed"}' | xargs -n2 mv

    с пробелами в названии
    ls -1 |awk '{print "\""$0"\" \""$0"_renamed\""}' | xargs -n2 mv
    Ответ написан
    2 комментария
  • Ubuntu- bash скрипты и вставка в них команд?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Ладно, не поленюсь, напишу ответ, хотя обычно на такие вопросы не отвечаю.

    Это не код.
    Это не скрипт.
    Это не bash.

    Это какая-то бредовая каша из непонятно чего. Хотя задачка довольно простая. Но проблемы у Вас начинаются прямо с постановки.
    - Домашний каталог - не обязательно в /home, он указывается в записи юзера в /etc/passwd
    - Права на домашний каталог - не обязательно $user:$user, как правило это $user:$usergroup

    Cкрипт может выглядеть примерно так (использованные команды я обьяснять не буду - по каждой есть man, и более обьемные руководства). Да, я всегда использую Bash версии 1.х
    #!/bin/sh
    
    user=$1 # Это некорректно, здесь нужна проверка на то, передан ли аргумент, только для примера
      uinfo=`getent passwd $user`
      bla=`echo $uinfo | awk 'BEGIN {FS=":"} \
            {printf "uname=%s;uid=%s;ugid=%s;uhome=%s",$1,$3,$4,$6}'`
      eval $bla
    # После этого блока у нас есть переменные uname, uid, ugid и uhome, которые
    # если юзер есть, заполнены данными, а если нет - то пустые
    
    if [ ${#uname} -ne 0 ]; then
      echo "Username exist"
      # Мы предположили, что uhome заполнен, но на самом деле это нужно проверять
     else
       echo "No username"
       # Здесь команды на создание юзера
    fi
    
    if [ -d $uhome ]; then
      echo "Homedir exist"
     else
       echo "No homedir"
       mkdir $uhome
       chown $uid:$ugid $uhome
    fi
    Ответ написан
    8 комментариев