![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Необходимо найти файл основан длины | J_ang | UNIX для чайников Вопросы И Ответы | 8 | 03-26-2007 09:21 AM |
| Как переместить файлы в разные папки, основанный на имени файла | italia5 | UNIX для чайников Вопросы И Ответы | 7 | 08-23-2006 11:04 AM |
| Как я мог бы сделать найти команды не говорят о пути к файлу? | LordJezo | Shell программирование и сценарии | 1 | 10-01-2004 07:01 AM |
| Найдите файл основан на содержимое файла | kollerj | UNIX для чайников Вопросы И Ответы | 4 | 06-02-2001 02:31 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Найти сделать и переместить файл на основе имени пользователя
привет там,
Я новичок в UNIX (только 3month используется), Я нашел мою новую коробку содержится много файлов и каталогов в / главная / коробки / Я попытался поискать скрипт в ТИС форуме и нашел многих из них, но я не знаю Как объединить их, чтобы сценарий, хотя и с помощью трубы. мои задачи, являются: 1) для проверки пользователь реже в / главная / пользователь / - Я, используемых LS-LD / Home / $ USER / , $ Пользователь должен иметь ключевое дюйм 2) Далее, группировка всех файлов в отсканированных реже (в задачу 1), в группе расширений, таких, как ". TXT", ". SH", ". Дат" Я использовал LS-L | AWK 'BEGIN (FS \u003d"."} печати ($ 2)'> index.txt 3) на основе index.txt, я собираюсь сделать каталоги касаясь этих расширений, например. /Главная / пользователь / txtExtension / главная / пользователей / datExtension / затем все файлы с расширением их реже. Извините, я не могу найти способ для создания этого сценария. Я попробовал все в моих силах совместить все выше простой скрипт, но, № 3 очень трудно для меня. Есть ли какие-либо UNIX-Shell эксперта есть идеи, решения, или даже пример скриптов для руководства мне Привет, Helmi. |
|
||||
|
Перемещение файлов по индексу
Я тестировал ниже сценарий путем создания директории пользователя в / TMP с различными типами файловых расширений Код:
#!/bin/ksh
/bin/rm index.dat
set -A USER_HOME /tmp/UserA /tmp/UserB /tmp/UserC /tmp/Root /tmp/GroupA /tmp/GroupB
set -A USERS UserA UserB UserC Root GroupA GroupB
for v in ${USERS[*]} ; do
find /tmp/$v -type f | awk -F. ' (NF == 2 ){ print $2 }' | sort -ud | tee -a index.dat
done
for type in $(<index.dat); do
NewDir=/tmp/${type}-IndexedFileDir
mkdir -p $NewDir
find ${USER_HOME[*]} -type f -name "*.$type" -print | xargs -I{} -t mv {} ${NewDir}
done
Пожалуйста, проверьте выше сценария, запустив ее на некоторых фальшивые каталоги и дайте нам знать, если это doesnot помочь. Спасибо Nagarajan Ганесан |
|
||||
|
О, Боже ... так прохладно ennstate
Спасибо приятель! все это хорошо! Но есть то, что я упустил в первой, если определенный файл удаляется без "замечать / просят разрешения на перемещение" пользователь или корней, это очень трудный для других пользователей на дорожке обратно и, возможно, они ожидают, что файлы были удалены. для второй раз, то есть каждый может купе этой проблемы, возможно, путем сделать определенные Tracker регистрации или что-нибудь? Привет, Helmi. |
|
||||
|
Код:
#!/bin/sh
awk -v user="user1" ' BEGIN { path = " /home/" user "/";command = "ls" path ;
while ( (command | getline line)>0 ) {
if (line ~ /\....$/) {
ext = substr(line,length(line)-2)
Extension[ext]
files[line] = ext
}
}
}
END { makedircmd = "mkdir "
for ( e in Extension) {
print "making " path e
dir = path e
makedircmd = makedircmd dir
print makedircmd
}
#system(makedircmd) #uncomment to use
for (f in files) {
mvcmd = "mv" path f " " path files[f]
traceback = "mv" path files[f] "/" f path
print traceback
print traceback >> "backup.sh" #backup
#system(mvcmd) #uncomment to use
}
}
' "file"
попытка в AWK. Вы можете использовать backup.sh вернуться эти файлы на исходные папки. |
|
||||
|
Я отредактировал сценарий на Код:
user="TEST" ' BEGIN { path = " /home/rosman/" user "/";command = "ls" path
Если испытательные является тестирование реже в котором содержится 1, сделанные ennstate FYI, я не войти в корень, поэтому я не могу adduser. Так что я только что сделал манекен для испытания реж. Ошибка государство Код:
[rosman]: /home/rosman/TEST => backup.sh awk: 0602-533 Cannot find or open file file. The source line number is 1. И я предполагаю, что в первой строке этого AWK. Любое предположение о том, как это исправить? Привет, Helmi |
|
||||
|
не уверен, но можно попробовать Код:
.. print traceback > "backup.sh" ( single > ) ... Правила посещения, я использую GNU AWK. Также убедитесь, что доступ предоставляется TEST каталог. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|