Видео ролики бесплатно онлайн

Смотреть азиатское видео

Официальный сайт tali-sk 24/7/365

Смотреть видео бесплатно

lwilis 17.07.2009 02:13

Tips & tricksПоиск файла в куче архивов

Ситуация.

Вы знаете, что нужный файл лежит в одном из архивов.

Архивов много. Я предлагаю искать файл таким образом:

1
aap@pg:tmp$ find /path/to/dir/ -name "*tar.gz"|while read i ; do tar tzf "$i"|grep FILENAME && echo "$i" ; done


указали путь к архивампока список с архивами не пустраспаковываем содержание архива (не содержимое)фильтруем содержание на предмет подстроки FILENAMEв случае успеха, выводим имя архиваPROFIT! (дань моде)


Тэги:
+ 15 -
Похожие Поделиться

n0p 17.07.2009 07:44 #
+ 0 -
Полезный хинт, спасибо.
Не так давно решил по религиозным соображениям отказаться от mc, многие вещи пока вызвают затруднения :)
|xed| 17.07.2009 11:04 #
+ 1 -
фишка хорошая =) плюсанул , но я бы хотел видеть побольше фишек в топике (но это мое имхо)
razum2um 17.07.2009 11:25 #
+ 0 -
Так и думал. Опять-таки, если имя архива с пробелом, то tar tf ругается:
Невозможно open: Нет такого файла или каталога
и пропускает его

Есть у кого мысли, как попроще заставить его их экранировать?
Minoru 17.07.2009 11:38 #
+ 5 -
Да стандартно всё:find /path/to/dir/ -name "*tar.gz" | while read i ; do tar tzf "$i" | grep FILENAME && echo $i ; doneКавычки рулят :)
lwilis 17.07.2009 16:50 #
+ 1 -
во-первых, имена файлов с пробелами - дурной тон.
во-вторых, Minoru предложил решение.
Сейчас поправлю у себя.
Minoru 17.07.2009 11:40 #
+ 3 -
Хинт да, неплохой. Теперь бы ещё придумать для него имечко, воткнуть в скрипт и кинуть в ~/scripts — будет вообще зашибись :)
|xed| 17.07.2009 13:54 #
+ 2 -
а что у вас в ~/scripts
cat ~/scripts >> http://welinux.ru
=)
renya 17.07.2009 19:16 #
+ 0 -
У меня конверт тэгов у треков в utf8, и показ своего внешнего IP =)
Minoru 17.07.2009 19:18 #
+ 2 -
Да куча всякой мелюзги, в основном — одострочники или скрипты с примитивной логикой, позволяющие работать быстрее или не отвлекаться на мелочи. Ну если интересно…

debupdate — обновляет систему
#!/bin/bash

# This script update system via aptitude
# Written by Minoru (eual dot jp at gmail dot com)
# Last modified Fri, 13 Mar 2009 18:09:46 +0200

# Sudo su is more securely than su, because you even don't enter root's password
# We really need su because sudo doesn't have -c option
sudo su -c "aptitude update && aptitude -y safe-upgrade"


extdict — надстроечка над dict, консольным толковым словарём
Идея вообще-то не моя, это иностранный знакомый поделился, но реализацию сочинял сам. Английский (ну, почти английский :) мессаг я не знаю зачем писал, я-то до сих пор помню, как этим пользоваться :)
#!/bin/bash

#
# extdict BASH script
# Written by Minoru (eual dot jp dog gmail dot com)
# Idea by Raging_Hog (you may find him at irc://irc.greenode.net/#linuxtalk)
# When you read a lot and need to check words by dict often, it's stupid to type "dict word" all the time. That's why I wrote this script. You just need to run this script, then type word and press Enter ??? and read definition. If you dislike less, you may change it to anything else.
#

# Small USAGE note + copyright
echo "Hi!"
echo "It's simple addition to dict written by Minoru (idea by Raging_Hog)."
echo "You type word, press Enter and then read dict's definition of this word in less program. After it press q key (to exit less) and type next word. You can use any features of less (such as search by pattern and scroll back) and dict (such as get definitions of few words by one reqest to program and so on). To exit script press Ctrl+C combination."
echo "Have fun!"
echo

# Let's do real work!
while true
do
read word
dict $word | less
done


fatmount — этой командой я обычно монтирую флешку, телефон и плеер
#!/bin/bash

# Get UID
#uid=`id | sed "s/ /\n/g" | grep uid | sed s/uid=// | sed "s/(.*)//"`
uid="minoru"
# Get GID
#gid=`id | sed "s/ /\n/g" | grep gid | sed s/gid=// | sed "s/(.*)//"`
gid="minoru"

if < "`mount | grep mnt`" != "" >; then
echo "/mnt is busy!"; else
sudo mount -t vfat -o uid=$uid,gid=$gid,fmask=133,dmask=022 /dev/sdb1 /mnt
echo "Device sucessfuly mounted!"
fi


flac2mp3.pl — этим скриптом я конвертирую флак в MP3'шки для плеера
#!/usr/bin/perl

use strict;

open(NAMES, "ls *.flac|");
my ($flac_name, $mp3_name);
while(defined($flac_name = <NAMES>)) {
chomp($flac_name);
$mp3_name = $flac_name;
$mp3_name =~ s/flac$/mp3/;
system("mkdir mp3; flac --decode --stdout \"$flac_name\" | lame -m j --vbr-new -B 128 - \"mp3/$mp3_name\"");
}
close(NAMES);


mkfilelist — это для составления списка файлов в директориях (рекурсивно). Подробности описывал тут
#!/bin/bash
curdir=$(pwd | sed 's/\//\\\//g') && find -type f -print | sort -g | sed "s/./$curdir/"


mpdupdate — это запускаю после каждого добавления новой музыки в ~/audio/music
#!/bin/bash

# Kill MPD
mpd --kill
# Update DataBase
mpd --create-db
# Start MPD
mpd
# Start Playing
mpc play


sdbmount — пожалуй, самый невостребованный скрипт, его пора бы удалить. Юзался для монтирования винта сестры
#!/bin/bash

sudo mount -t ntfs-3g /dev/sdb1 /media/C
sudo mount -t ntfs-3g /dev/sdb2 /media/D
sudo mount -t ntfs-3g /dev/sdb3 /media/E


Сейчас перечитал их, уже есть что поправить. Например, вместо баша вполне покатил бы sh, а flac2mp3 реализуется однострочником на bash'е. Как видишь, у меня даже были порывы сделать систему понятной другим (то есть писал описания к скриптам). Остальное создавалось на скорую руку, в процессе работы, и потому описаний не содержит. Английский мне тоже не мешало бы поправить…
lwilis 17.07.2009 22:16 #
+ 2 -
Делать комменты в собственных скриптах - это, конечно, очень хорошо, но не поражает; а вот "шапки" - поразили. Хороший пример новичкам.
Kraplax 18.07.2009 19:49 #
+ 0 -
а шабки - это имеются ввиду те самые #!/bin/bash? :)
Я как-то всегда думал что без них может и не заработать срипт :P А так, да, полезные штуки =)
Minoru 18.07.2009 22:37 #
+ 0 -
Вероятно, masai говорил о тех шапках, где я вкратце описывал, что делает скрипт (они расположены между sha-bang и непосредственно кодом).
lwilis 21.07.2009 17:23 #
+ 1 -
masai? :)

Minoru 21.07.2009 22:24 #
+ 0 -
Упс… Извини, что-то меня переклинило.
Я, конечно, имел в виду тебя.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн