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

Исходное сообщение
"Разделить файлы и директории"

Отправлено tester , 15-Янв-06 14:04 
Есть файл A.txt в котором содержаться имена файлов и директорий.

Например:
===============  A.txt   ============================================
MozillaFirefox/
MozillaFirefox/bin/
MozillaFirefox/bin/add-plugins.sh
MozillaFirefox/bin/firefox.sh
MozillaFirefox/bin/rebuild-databases.sh
MozillaFirefox/installed-chrome.d/
MozillaFirefox/installed-chrome.d/manual
MozillaFirefox/installed-chrome.d/mozilla
MozillaFirefox/installed-chrome.d/translations
MozillaFirefox/lib/
MozillaFirefox/lib/LICENSE
MozillaFirefox/lib/README.txt
MozillaFirefox/lib/browserconfig.properties
MozillaFirefox/lib/chrome/
MozillaFirefox/lib/chrome/af-ZA.jar
===========================================

Вопрос:
Как это файл разделить на два файла B.txt и C.txt, в которых были бы записаны отдельно файлы и отдельно директории?

Например:
============= B.txt   ====================
MozillaFirefox/
MozillaFirefox/bin/
MozillaFirefox/installed-chrome.d/
MozillaFirefox/lib/
MozillaFirefox/lib/chrome/
===========================================


============= C.txt   ====================
MozillaFirefox/bin/add-plugins.sh
MozillaFirefox/bin/firefox.sh
MozillaFirefox/bin/rebuild-databases.sh
MozillaFirefox/installed-chrome.d/manual
MozillaFirefox/installed-chrome.d/mozilla
MozillaFirefox/installed-chrome.d/translations
MozillaFirefox/lib/LICENSE
MozillaFirefox/lib/README.txt
MozillaFirefox/lib/browserconfig.properties
MozillaFirefox/lib/chrome/af-ZA.jar
===========================================

??????????


Содержание

Сообщения в этом обсуждении
"Разделить файлы и директории"
Отправлено jd , 15-Янв-06 15:51 
Если строки с директориями заканчиваются на '/', то

grep /$ A.txt > B.txt
grep -v /$ A.txt > C.txt


"Разделить файлы и директории"
Отправлено tester , 15-Янв-06 17:59 
>Если строки с директориями заканчиваются на '/', то
>
>grep /$ A.txt > B.txt
>grep -v /$ A.txt > C.txt

Спасибо!
Получилось....


"Разделить файлы и директории"
Отправлено tester , 19-Янв-06 10:14 
>>Если строки с директориями заканчиваются на '/', то
>>
>>grep /$ A.txt > B.txt
>>grep -v /$ A.txt > C.txt

Ещё одна прсьба.

как бы из файла "C.txt" выделить директории, то есть всё что находится слева от последнего слэш "/"?

============= C.txt   ====================
MozillaFirefox/bin/add-plugins.sh
MozillaFirefox/bin/firefox.sh
MozillaFirefox/bin/rebuild-databases.sh
MozillaFirefox/installed-chrome.d/manual
MozillaFirefox/installed-chrome.d/mozilla
===========================================

Спасибо!


"Разделить файлы и директории"
Отправлено ACCA , 19-Янв-06 11:55 
>как бы из файла "C.txt" выделить директории, то есть всё что находится
>слева от последнего слэш "/"?

while read fname
do
   basename $fname
done < C.txt

А вообще проще изначально сделать

find MozillaFirefox -type d > B.txt
find MozillaFirefox -type f -printf "%f\n" > C.txt


"Разделить файлы и директории"
Отправлено tester , 19-Янв-06 12:35 
>>как бы из файла "C.txt" выделить директории, то есть всё что находится
>>слева от последнего слэш "/"?
>
>while read fname
>do
>   basename $fname
>done < C.txt
>
>А вообще проще изначально сделать
>
>find MozillaFirefox -type d > B.txt
>find MozillaFirefox -type f -printf "%f\n" > C.txt


Спасибо.


"Разделить файлы и директории"
Отправлено jd , 20-Янв-06 16:41 
sed 's|\(.*\)/.*|\1|' < C.txt