URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8949
[ Назад ]

Исходное сообщение
"Скрипт, сливающий содержимое всех файлов каталога в один"

Отправлено Executor_ , 04-Дек-10 17:36 
Добрый день!
Помогите пожалуйста с shell-скриптом:
необходимо, чтобы он сливал содержимое всех файлов каталога в один(не учитывая подкаталоги и сам файл скрипта), реализация на основе цикла
Заранее спасибо.

Содержание

Сообщения в этом обсуждении
"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено Etch , 04-Дек-10 19:28 
А поподробнее?
Архивировать надо? - тогда 'man tar'.

"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено Executor_ , 04-Дек-10 21:24 
> А поподробнее?
> Архивировать надо? - тогда 'man tar'.

Нет, архивировать не надо, просто сбросить все файлы из папки в один)


"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено NuINu , 04-Дек-10 21:43 
>> А поподробнее?
>> Архивировать надо? - тогда 'man tar'.
> Нет, архивировать не надо, просто сбросить все файлы из папки в один)

да уж, а ман тар почитать слабо? или лень?


"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено Executor_ , 04-Дек-10 22:20 
>>> А поподробнее?
>>> Архивировать надо? - тогда 'man tar'.
>> Нет, архивировать не надо, просто сбросить все файлы из папки в один)
> да уж, а ман тар почитать слабо? или лень?

сам не разберусь, не нужна была бы помощь не спрашивал бы)


"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено Иван Иванович Иванов , 05-Дек-10 01:06 
Цикл не надо.

find . -type f -exec mv '{}' . \;


"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено masterrr , 05-Дек-10 21:41 
> Добрый день!
> Помогите пожалуйста с shell-скриптом:
> необходимо, чтобы он сливал содержимое всех файлов каталога в один(не учитывая подкаталоги
> и сам файл скрипта), реализация на основе цикла
> Заранее спасибо.

#!/bin/bash
#$1 - New filename

SCRIPTNAME=`basename $0`
FILES=`ls`

if [ -z "$1" ] ; then echo "Usage: ./$SCRIPTNAME file"; exit 1; fi

echo -n "" > "$1"
for f in $FILES ;
do
    if [ ! -d "$f" ] && [ "$f" != "$SCRIPTNAME" ] && [ "$f" != "$1" ] ; then
        cat "$f" >> "$1"
    fi
done


"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено VladBer , 05-Дек-10 22:18 
cat path/* >> ../result.txt



"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено masterrr , 06-Дек-10 00:53 
> cat path/* >> ../result.txt

:) автор хотел реализацию на основе цикла


"Скрипт, сливающий содержимое всех файлов каталога в один"
Отправлено pavlinux , 06-Дек-10 01:15 
> Добрый день!
> Помогите пожалуйста с shell-скриптом:
> необходимо, чтобы он сливал содержимое всех файлов каталога в один(не учитывая подкаталоги и сам файл скрипта), реализация на основе цикла


#!/ящик/бить

КАТАЛОГЕ="."

для каждого из `всех файлов в $КАТАЛОГЕ --не-учитывая-подкаталоги --и-сам-файл-скрипта`  
   делать
        сливаем $каждого в один;
кончили