Я не имею ack-grep
утилита на моем Mac так будет это awk
работа решения для Вас?
awk -v FS=[?\"] '/param/{print FILENAME; print $3 }' INPUT_FILE
Выполнение:
[jaypal:~/Temp] cat file0
<a href="http://example.com/fnord.layername.html?parameter=FOO-_-BAR-_-FNORD" class="poit">
<img ... />
</a>
[jaypal:~/Temp] awk -v FS=[?\"] '/param/{print FILENAME; print $3 }' file0
file0
parameter=FOO-_-BAR-_-FNORD
Вероятная работа вокруг для Вас:
Если получение имени файла наряду со значениями параметров очень важно, затем можно или выполнить это с простым for loop
или можете быть Вы, может перенаправить вывод, в котором Вы добираетесь в настоящее время до файла или передаете его по каналу к следующему awk
острота.
Простой для цикла:
[jaypal:~/Temp] for i in ./file*.txt; do awk -v FS=[?\"] '/param/{print FILENAME; print $3"\n" }' "$i"; done
./file01.txt
parameter=FOO-_-BAR-_-FNORD
./file02.txt
parameter=POIT-_-NARF-_-BAZINGA
Перенаправление текущей производительности в файл и вызов awk
на нем:
Следование примеру принимает redirection
из Вашей текущей производительности в файл, названный temp.file.
[jaypal:~/Temp] cat temp.file
fileName.txt
1:<a href="http://example.com/fnord.layername.html?parameter=FOO-_-BAR-_-FNORD" class="poit">
fileName2.txt
5:<a href="http://example.com/fnord.layername.html?parameter=POIT-_-NARF-_-BAZINGA" class="poit">
[jaypal:~/Temp] awk -v FS=[?\"] 'NF==1{ print $0 }/param/{ print $3"\n" }' temp.file
fileName.txt
parameter=FOO-_-BAR-_-FNORD
fileName2.txt
parameter=POIT-_-NARF-_-BAZINGA
Вопрос был somedays старый, и я не отправлял его, но это было все еще в моем окне браузера.
Тем временем я развился несколько хакер решение "в лоб". Я перешел к папке где мой mplayer
двоичный файл - и скопировал его в другое имя.
cd /usr/bin
sudo cp mplayer mplfull
Измененный все случаи MPlayer к MPlfull в скопированном файле.
sudo sed -i 's%MPlayer%MPlfull%g' mplfull
Затем я отредактировал мой ~/.xmonad/xmonad.hs
файл (добавляющий мою копию mplayer, которая имеет только MPlfull в его файле, так, чтобы это также было его именем класса).
myManageHook = composeAll
[ className =? "Gimp" --> doFloat
, className =? "Gimp-2.6" --> doFloat
, className =? "Gimp-2.8" --> doFloat
, className =? "Xsane" --> doFloat
, className =? "MPlfull" --> doFloat
, title =? "Gnuplot (window id : 0)" --> doFloat
, resource =? "desktop_window" --> doIgnore
, resource =? "kdesktop" --> doIgnore ]
И затем включил эти четыре строки мой ~/.bashrc
файл.
alias mplfull='mplfull -xineramascreen -2 -geometry 2048x1280+0+0 -fs'
alias mpl100='mplfull -xineramascreen -2 -geometry 2248x1480+-100+-100 -fs'
alias mpl200='mplfull -xineramascreen -2 -geometry 2448x1680+-200+-200 -fs'
alias mpl300='mplfull -xineramascreen -2 -geometry 2648x1880+-300+-300 -fs'
Теперь, когда я ввожу mplayer someFile
Я могу наблюдать его в мозаичном окне. И измените размер его с мышью, как я когда-либо делал.
Но я могу также просмотреть свои файлы с mplfull someFile
и это находится автоматически в полном экране по обоим мониторам (см. -geometry
опция).
mpl100
, mpl200
и mpl300
псевдонимы для видео, которые имели бы большие черные дорожки на моих мониторах из-за соотношения сторон, которое не соответствует к моей двухмониторной установке. Конечно, немного видео затем будет cutted далеко (за пределами экрана), но мне нравится этот больше, чем наличие больших черных дорожек.
Мне все еще любопытно, если существуют лучшие и более легкие решения. Возможно, решение Xmonad?
mpl100
и так далее не нужно. Можно просто использовать mplayer стандартные ключи e
и w
увеличивать масштаб и уменьшать масштаб (названный изменением pan-scan располагаются в mplayer руководстве).