Вот тут подумалось что IDE для C,C++,Java,Python,Perl,etc достаточно а для bash/zsh/etc я не видел никогда, а смотреть ради этого монстров (с моей точки зрения они монстры) типа Eclipse, NetBeans, IDEA как-то не хочется. А всякого рода текстовые редакторы многого для сих целей не умеют (ну vim, emacs здесь правда выделяются)
Вот и возник интерес, а есть ли такие?
Или какой текстовый редактор простенький для сих целей используете вы и он для шела подходит на роль какой-никакой но всё же среди разработки?
Я, конечно же, понимаю что это прихоть - но любопытство меня пересиливает
Навеяно постом о
Быстром способе удалять из консоли несколько директорий за 1 раз..
Имхо, то что там описано (а именно разворачивание {foo,bar}) должен знать каждый кто хочет использовать консоль более эффективно.
А теперь ближе к делу.
У меня в
zshrc есть строка вызывающая dialog для выбора удаляемых каталогов и файлов в текущей директории. Так же сие дело повешено на хоткей в стиле емакс (^X^O)
1
2
3
4
|
function dialogrun; { rm -rf $(dialog --separate-output --checklist file 100 100 100 \
$(for l in $(ls -A); do echo "$l" "$(test -d $l && echo "dir" || echo "file")" 0; done) --stdout); clear }
zle -N dialogrun
bindkey -M emacs "^X^O" dialogrun |
Может кому и пригодится. Так же можно изменить функцию dialogrun не только для удаления, а для передачи имен файлов в другое место (тут уже от фантазии и потребностей зависит).
PS. Только будьте пожалуйста осторожны изменяя строку используя rm -rf, ибо штука опасная, смените лучше на ls от греха подальше
Бывает, приходится открывать окно терминала и набивать строки на клавиатуре. Например, пытаешься решить проблему, народ на форуме помогает, - какие строчки нужно добавить в такие-то файлы. Что-то удается скопировать и вставить, иное нужно набрать самостоятельно.
Начинаю сборник моих мааленьких постов, которые могут помочь многим пользователям сделать жизнь в Linux приятней, продуктивней и интересней.
Каждая статья будет маленькой, а значит простая для запоминания и восприятия.
В первой статейке сделаем простую команду оболочки, которая перенесет вас в нужный каталог и сразу покажет его содержимое.
Для такого я создал в /bin/ файл cdd:
В нем всего несколько строчек:
1
2
|
#!/bin/bash
cd $1; ls |
и даем право на запуск всем:
$ sudo chmod +x /bin/cdd
Для этого обязательно установите пакет ffmpeg.
$ ffmpeg -i фильм.avi -s qcif -r 12 -ac 1 -ar 8000 -b 30 -ab 12 новый_фильм.3gp
Необходимо заменить в каком-либо файле или группе файлов определенное слово на другое слово. Пишем (копируем) маленький perl-скрипт:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/usr/bin/perl -w
while() {
chomp;
if(-x and ($null,$null,$mode)=stat and $mode & 040000) {
next;
}
$file=$_;
system("/bin/cp -p $file $file.tmp$$");
open(F1,"$file");
open(F2,">$file.tmp$$");
while () {
s/$ARGV[0]/$ARGV[1]/;
print F2;
}
close(F2);
close(F1);
system("/bin/mv $file.tmp$$ $file");
} |
Назовем его, скажем, repl.pl. Как с ним работать? Перенаправляем конвейером на него любой файл, а в качестве параметров указываем ему искомое слово и слово для замены. Например, в вашей директории полно файлов, в которых слово html необходимо сменить на xml:
1
2
|
$ find /home/files/ | repl 'html' 'xml' |
Дано: старый IDE-шный Mobile Rack (с выключалкой питания), два IDE винта, которые хочется иногда менять не выключая комп, Debian Etch r4 (ядро 2.6.17).
В оффтопике система висла уже при выключении винта, в теперешнем конфиге виснет после включения нового. Есть ли способ заставить систему "забывать" про старый винт и корректно видеть новый?
Когда я начал обновлять систему с томского зеркала, apt начал ругаться на отсутствующие публичные ключи. Debian.tomsk.ru (то самое зеркало) рекомендует следующий скрипт
Дошли руки и совесть сделать чудовище для получения списка пакетов которые хорошо бы обновить :)
На написание натолкнул товарищ
lelon своим постом про МС.
В нем он создал свой скрипт, запихал в /bin и пользуется. Отмечу, что скрипт был коротенький и по сути работал с одной командой - mc.
Не все знают, что баш - жутко ленивая штука и там есть очень удобная команда alias