Странное форматирование даты в сценарии удара

Из Проекта Fedora страница Wiki на Сетях Анаконды:

Если и конфигурация IPv4 и IPv6 включена, провальная конфигурация IPv4 активированного устройства означает, что активацию рассматривают как сбой в целом (который соответствует, чтобы Потребовать, чтобы обращение IPv4 для этого соединения завершилось зарегистрированный nm-c-e или IPV4_FAILURE_FATAL=yes в ifcfg файле).

Помещение его иначе, это говорит это, если соединение является установкой и для IPv4 и для IPv6 с этим набором опции к yes, об установке упомянутого соединения сообщат, как отказавший, даже если IPv6 будет установкой, и IPv4 не.

3
20.06.2014, 01:29
3 ответа

Дикая догадка: у вас есть псевдоним для ls, который используется, когда вы пытаетесь выполнить команду интерактивно, и этот псевдоним не используется в сценарии. Может быть, что-то вроде этого?

alias ls="ls --full-time"

Обратите внимание, что общепринятая мудрость гласит, что пытаться разобрать ls - плохая идея. Если предположить, что вы находитесь на машине с Linux, что-то подобное может быть предпочтительнее:

stat "$FILENAME" | awk '/^Modify: /{print $2}'

EDIT: Или, как указывает Стефан ниже, использование find с -printf еще лучше. Вывод stat немного легче предсказать, чем ls, но -printf позволяет получить выходной формат, который полностью контролируется вами.

.
3
27.01.2020, 21:10

Вот полный код

#!/bin/bash
cd ~/Downloads
for FILENAME in $(find . -maxdepth 1 -type f); do    
    DATE=$(stat "$FILENAME" | awk '/^Modify: /{print $2}')
    [ ! -d "$DATE" ] && mkdir -vp "$DATE"

    mv "$FILENAME" "${DATE}/$FILENAME"
done
cd -
0
27.01.2020, 21:10

Я бы предложил использовать формат даты типа 2014-06-19 . Таким образом, ls показал бы их в хронологическом порядке.

На системе GNU:

#! /bin/bash -
cd ~/Downloads &&
  find . -maxdepth 1 -type f -printf '%p\0%TF\0' |
    while IFS= read -rd '' file && read -d '' date; do
      mkdir -vp "$date" && mv "$file" "$date"
    done

С zsh на любой системе:

#! /bin/zsh
zmodload zsh/stat || exit

cd ~/Downloads &&
  for file (./*(ND.)) {
    zstat -A date -F %F +mtime $file &&
      mkdir -p $date &&
      mv $file $date
  }
7
27.01.2020, 21:10

Теги

Похожие вопросы