Бывает, приходится открывать окно терминала и набивать строки на клавиатуре. Например, пытаешься решить проблему, народ на форуме помогает, - какие строчки нужно добавить в такие-то файлы. Что-то удается скопировать и вставить, иное нужно набрать самостоятельно.
Вот тут подумалось что IDE для C,C++,Java,Python,Perl,etc достаточно а для bash/zsh/etc я не видел никогда, а смотреть ради этого монстров (с моей точки зрения они монстры) типа Eclipse, NetBeans, IDEA как-то не хочется. А всякого рода текстовые редакторы многого для сих целей не умеют (ну vim, emacs здесь правда выделяются)
Вот и возник интерес, а есть ли такие?
Или какой текстовый редактор простенький для сих целей используете вы и он для шела подходит на роль какой-никакой но всё же среди разработки?
Я, конечно же, понимаю что это прихоть - но любопытство меня пересиливает
Никак не могу сообразить как написать, гугол чего-то не помог.
Суть такая, надо удалять все файлы в папке созданные раньше чем за N часов до текущего времени.
Начинаю сборник моих мааленьких постов, которые могут помочь многим пользователям сделать жизнь в Linux приятней, продуктивней и интересней.
Каждая статья будет маленькой, а значит простая для запоминания и восприятия.
В первой статейке сделаем простую команду оболочки, которая перенесет вас в нужный каталог и сразу покажет его содержимое.
Для такого я создал в /bin/ файл cdd:
1
2
3
|
$ sudo vim /bin/cdd
|
В нем всего несколько строчек:
1
2
3
|
#!/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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/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
3
|
$ find /home/files/ | repl 'html' 'xml'
|
Когда я начал обновлять систему с томского зеркала, apt начал ругаться на отсутствующие публичные ключи. Debian.tomsk.ru (то самое зеркало) рекомендует следующий скрипт
Дошли руки и совесть сделать чудовище для получения списка пакетов которые хорошо бы обновить :)
На написание натолкнул товарищ
lelon своим постом про МС.
В нем он создал свой скрипт, запихал в /bin и пользуется. Отмечу, что скрипт был коротенький и по сути работал с одной командой - mc.
Не все знают, что баш - жутко ленивая штука и там есть очень удобная команда alias
Пока комментил предыдущий пост вспомнил о полезной фиче баш - файл дескрипторы, короче баш умеет перенаправлять ввод-вывод команд в специальные файлы, которые можно подсунуть программе.
Проще объяснить на примерах:
Скажем нам нужно сравнить по-быстрому содержимое двух директорий, можно написать мегаскрипт а можно обойтись и одной командой: