LINUX.ORG.RU

Скрипт копирование файлов


0

1

Доброе время суток уважаемые форумчане,  прошу дать совет или же направить на путь истины. Суть в том что необходимо написать Скрипт sh который будет копировать файлы с папки в папку с одним но. Исходныe файлы называются  d.1.du   w.1.su  s.1.rf лежат в /home/ скопировать нужно в /home/1/ Но скопировать нужно с добавлением даты и сохранением последних строк оригинального файла Т.e  файлы после копирования должны иметь вид 20120803_1.du   20120803_1.su.  20120803_1.rf.   Просто добавив в процессе копирования дату и обрезать название в начале.

Что ты уже написал (скрипт) и какие ошибки он выдает? Впрочем, можешь подождать, набегут школьники и тебе все напишут.

man date
man cut
man cp

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 2)

создаешь конвейер, stdout в stdin, все в лучших традициях bash

sudo-s
()

слушай вышеотписывшихся, и до купы посмотри еще mmv.

dikiy ★★☆☆☆
()
$ rename -nv '$_=localtime().$_' `ls test/`
1.txt renamed as Fri Aug  3 19:43:17 20121.txt
2.txt renamed as Fri Aug  3 19:43:17 20122.txt
3.txt renamed as Fri Aug  3 19:43:17 20123.txt
OxiD ★★★★
()
Ответ на: комментарий от anonymous

#!/bin/bash # Путь к каталогу с файлами SRC_DIR=«${1}» # Количество скопированных строк. NUMBER_STRING=«2»

mkdir -p «${SRC_DIR}/1»

for i in $(ls «${SRC_DIR}»); do [ -f «${SRC_DIR}/${i}» ] && tail -n ${NUMBER_STRING} «${SRC_DIR}/${i}» > «${SRC_DIR}/1/$(date +%Y%m%d)_${i#*.}» done

Данный Скрипт работает но вот не пойму как сделать что бы дата была не системная а бралась из первой строчки файлов d.1.du и прочих но дата находится на определенной позиции типа

1 7364 test 2012080300 29 eye 000 2 строчка 3 Дата соответственно 20120803 как ее взять и вставлять в перемен ную с каждого файла?

sinxron
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.