Скопируйте последовательные файлы

SAR выезда, также. Реализации могут значительно различаться от, отклоняют для отклонения, но это должно дать Вам статистику базовой системы в данных снимках. Я не уверен, насколько точный значения в точке, в которой сначала инициализируется команда, но Вы могли бы играть вокруг, чтобы видеть, как она выдерживает сравнение с top, iostat, и т.д.

Вывод основан на столбце, как вершина, таким образом, необходимо смочь передать вывод по каналу к awk или cut управлять результатами.

3
15.08.2017, 19:23
5 ответов

Я использовал эту команду для генерации некоторых демонстрационных данных

% for  i in `seq 0 11`;do touch dmp_$(printf "%03d" $i);done

% ls
dmp_000  dmp_001  dmp_002  dmp_003  dmp_004  dmp_005  dmp_006  dmp_007  dmp_008  dmp_009  dmp_010  dmp_011

Чтобы копировать файлы и сохранить исходные файлы изменяют/создают даты:

% for i in dmp*;do cp -p "$i" "r${i}";done

% ls
dmp_000  dmp_002  dmp_004  dmp_006  dmp_008  dmp_010  rdmp_000  rdmp_002  rdmp_004  rdmp_006  rdmp_008  rdmp_010
dmp_001  dmp_003  dmp_005  dmp_007  dmp_009  dmp_011  rdmp_001  rdmp_003  rdmp_005  rdmp_007  rdmp_009  rdmp_011

Перемещать файлы wdmp* к rdmp*

% for i in wdmp*;do newname=$(echo $i|sed 's/^w/r/'); mv "$i" "$newname";done

Примечание: Вы, возможно, также использовали ответ @warl0ck для того использования rename команда.

4
27.01.2020, 21:10
  • 1
    В дополнение к этому, что, если я должен скопировать wdmp_000, wdmp_001, и т.д. к rdmp_000, rdmp_001? Где я должен переименовать сам файл? Команда дублирования добавляет 'r' вначале, но я хотел бы, чтобы это заменило 'w'. –  Gary Cai 05.02.2013, 11:05
  • 2
    Вы спрашиваете, как скопировать wdmp_000 в rdmp_000, но заменить r w? Используйте команду Unix mv вместо cp. Я добавлю другой пример для этого к ответу. –  slm♦ 05.02.2013, 15:17
  • 3
    Спасибо, это - работы! warl0ck не работает так или иначе. Код Фортрана не читает новые файлы. –  Gary Cai 09.02.2013, 08:37

Я сделал бы это

for f in dmp_{000..011}; do [ -f $f ] && cp "$f" "r$f"; done
1
27.01.2020, 21:10

Если использование zsh приемлемо, затем:

autoload -U zmv            # load zmv
zmv -C 'dmp_(*)' 'rdmp_$1' # rename files

Или просто в этом случае:

zmv -C 'dmp_*' 'r$f'

($1, $2 расширьтесь до соответствия (...) группы и $f к целому пути к файлу).

См. эту ссылку для большего количества примеров.

3
27.01.2020, 21:10

Попытка переименовывает команду и только переименовывает запущенных с dmp_,

rename dmp rdmp dmp_*

Для хранения файлов попробуйте альтернативный метод как это,

for x in dmp_*; do cp $x r$x; done

0
27.01.2020, 21:10
  • 1
    Это удаляет исходные файлы? Я хотел бы сохранить их, поэтому переименуйте, не будет работать. –  Gary Cai 30.01.2013, 06:30
  • 2
    @GaryCai обновляется –  daisy 30.01.2013, 06:42

Posix-совместимый, короткий, и на все ваши файлы можно ссылаться (в скобках) как на позиционные параметры 1-12, если вы хотите их расширить.

% ( set -- wdmp0[0-1][0-9] ;\
> for f ; do cp $f r${f#?} ; done )
2
27.01.2020, 21:10

Теги

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