[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/]

[Burichan] [Foliant] [Futaba] [Greenhell] [Gurochan] [Photon] - [Home] [Manage] [Archive]

[Return]
Posting mode: Reply
Leave these fields empty (spam trap):
Name
Link
Subject
Comment
File
Verification
Password (for post and file deletion)
  • Supported file types are: GIF, JPG, PDF, PNG
  • Maximum file size allowed is 20480 KB.
  • Images greater than 200x200 pixels will be thumbnailed.

File: 1585764500031.jpg -(472714 B, 1920x1080) Thumbnail displayed, click image for full size.
472714 No.174285  

Скрипты/софт облегчающий жизнь.

Прошлый тред >>43960

>> No.174286  

>>174284

> Как переписать about:config не заходя в fireeox? Заменить на другой например.

Этот конфиг хранится в ~/.mozilla/firefox/имяпрофиля/prefs.js

>> No.174288  

>>174286
Спасибо тебе.

>> No.174302  
#!/bin/sh

############################################################
# Массовая конвертация текстовых файлов из CP-1251 в UTF-8.
# $1 - Директория с исходными файлами.
# $2 - Директория для сохранения новых файлов.
############################################################

# Проверка ввода
if [ $# -ne 2 ]; then
echo "Usage: $0 <INPUT_DIRECTORY> <OUTPUT_DIRECTORY>" >&2
exit 1
fi
if ! [ -e "$1" ]; then
echo "${1}: no such directory." >&2
exit 1
fi
if ! [ -d "$1" ]; then
echo "${1} is not a directory." >&2
exit 1
fi

# Удаление "./" или замыкающего слэша
INDIR="$(basename $1)"
OUTDIR="$2"

# Создание верхней директории
if ! [ -d "$OUTDIR" ]; then
mkdir "$OUTDIR"
fi

# Пересоздаётся структура директорий
find "$INDIR" -mindepth 1 -type d |
while read DIR; do
NEWDIR=$(echo "$DIR" | sed 's,[^/]*/,,')
mkdir -p "${OUTDIR}/${NEWDIR}"
done

# Конвертация текстов
find "$INDIR" -name '*.txt' |
while read INFILE; do
OUTFILE=$(echo "$INFILE" | sed 's,[^/]*/,,')
OUTFILE=${OUTDIR}/${OUTFILE}
file "$INFILE" | grep -q 'ISO-8859 text'
if [ $? -eq 0 ]; then
MTIME=$(stat "$INFILE" | sed -n 's/^Modify: //p')
iconv -f cp1251 -t utf8 "$INFILE" > "$OUTFILE"
sed -i 's/\r//' "$OUTFILE" # CRLF -> LF
touch -d "$MTIME" "$OUTFILE"
else
cp -p "$INFILE" "$OUTFILE"
fi
done
>> No.174314  

>>174302
Я считаю к таким скриптам нужно прикручивать проверку на integrity получившихся данных и их соответствие тексту из старых файлов.

>> No.174517  

Внезапно binwalk отлично детектит и распаковывает rarjpeg, zipjpeg и некоторые другие артефакты борд.

>> No.174543  
File: 1586627941047.jpg -(485512 B, 904x1280) Thumbnail displayed, click image for full size.
485512

>>174314
Как, если даже кодировку определить автоматически надёжным способом нельзя?
Разве только показывать каждый получившийся текст и спрашивать «Y/N» — что явно не подходит, потому что таких файлов могут быть сотни.

>> No.174567  

Можно ли в утилиту коммандной строки(например chmod) вместо нормального файлового пути скормить URI(file:///path)? В мане не нашел, в гугле нашел только через < <(curl -s URIpath).

>> No.174568  

>>174567
Что должна сделать chmod с http-ссылкой?

>> No.174569  

>>174567
Если используешь GNOME, есть всякие утилиты, начинающиеся на gvfs-. Для KDE тоже что-то подобное должно быть. Это самое близкое к тому, что тебе нужно.
>>174568
Это URL. К HTTP не имеет никакого отношения.

>> No.174573  

>>174569
Спасибо. Не помогло, но могло бы помочь, их слишком мало в моей системе. Если кому-то другому интересно, то здесь о них написанно:
https://wiki.gnome.org/Projects/gvfs/doc#Tools

>> No.174575  

>>174573
Расскажи, что пытаешься сделать. Можно же сконвертировать file:// в обычный путь к файлу.

>> No.174578  

>>174575
Мне подойдет и собственнный нагугленный способ из >>174567, спрашивал на случай более верных способов сделать это.

>Расскажи, что пытаешься сделать.

Скрипт/софт облегчающий жизнь. же.

>Можно же сконвертировать file:// в обычный путь к файлу.

Да, я уже нагуглил пару библиотек перед тем как спрашивать на случай если crul вдруг не съест локальный путь или ещё каких-то проблем, но лучше не говнокодить лишний раз.

>> No.174579  

>>174517

> Внезапно binwalk отлично детектит и распаковывает rarjpeg, zipjpeg и некоторые другие артефакты борд.
> и некоторые другие

А какие ещё есть/были? Я помню, на Сосаче году в 2011 кто-то выложил в /b/ якобы самописную тулзу для стеганографии, опять же, якобы для простоты шаринга известного контента, но вряд ли кто-то пользовался exe-шником без сорцов, лол.

>> No.174580  

>>174579
Последовательно натравливать разорхиваторы же.

>> No.174582  

>>174579
ddt?
Недавно ещё жила вроде.

>> No.174592  

>>174579
да тысячи их, даже imagic так умел, как ща помню
https://opensource.apple.com/source/file/file-44/file/magic/Magdir/archive
вообще, если только стеганография (без шифрования) то
https://weekly-geekly.github.io/articles/337084/index.html
t;dr ищем сигнатуры или характерные аномалии

>> No.174601  

>>174567
>>174578

>если crul вдруг не съест локальный путь или ещё каких-то проблем

Проблемы случились, этот способ:
< <(curl -s URIpath)
взятый отсюда:
https://stackoverflow.com/questions/5735666/execute-bash-script-from-url
работает видимо лишь с bash скриптами, передавая скорее всего контент, а не адрес, чего вообще-то и следовало ожидать.
Но полистав мануал curl я нашел флаг --quote, который должен позволять отправлять некоторые комманды(ln, chmod, chown, и т.д., всего штук семь) к файлу, что мне и нужно. Возможно что только по ftp и sftp.
Кажется, в итоге придется-таки говнокодить обёртку.

>> No.174632  

>>174601

> работает видимо лишь с bash скриптами, передавая скорее всего контент, а не адрес, чего вообще-то и следовало ожидать.

Не совсем понимаю, зачем ты привязался к этому [...] < <(curl -s URIpath). Он же эквивалентен curl -s URIpath | [...]. Вот [...] <(curl -s URIpath) уже другое дело.

Передаётся там не адрес и не контент, а путь к открытому пайпу из /dev/fd/. Работает только с теми программами, которых устраивает прочитать файл последовательно и один раз. Например, file <(cat /etc/passwd) так не сработает.

Объясни всё же, зачем тебе работать с file://, почему не подходит просто сконвертировать file:// в обычный путь, нужно ли тебе поддерживать ещё какие-то протоколы.

>> No.174858  

https://linux.die.net/man/1/rlwrap

>> No.174859  

>>174858
Ухты, еще и историю с поиском умеет.

>> No.174864  

sed -i /SpamSpamSpam/d *ass

Удалить все строчки содержащие SpamSpamSpam во всех *ass

>> No.174923  

>>174632
Ни то, ни то не работает.

>почему не подходит просто сконвертировать file:// в обычный путь

Подходит, для этого я и пытался использовать curl. Устанавливать новых библиотек не хочется.

В итоге я буду говнокодить обертку на пайтоне или баше конвертирующую это дело регулярками, и только в том случае если решу что это будет полезной тренировкой, потому что не настолько мне нужен этот скрипт.

Но сначала хотел на си написать этот скрипт, используя какую-нибудь часто используемую библиотеку для этого, попробовал uriparser, но оказалось слишком сложным переработать её код, и простейшая ide(анюта) не очень помогала мне.
Какими ide ты пользуешься?

>> No.174924  
File: 1587716598187.png -(5971 B, 388x383) Thumbnail displayed, click image for full size.
5971
>> No.174934  

>>174923

>>> url = 'file:///home/anon/Downloads/(%E4%B8%80%E8%88%AC%E5%B0%8F%E8%AA%AC)%20[%E4%BC%8F%E8%A6%8B%E3%81%A4%E3%81%8B%E3%81%95]%20%E4%BF%BA%E3%81%AE%E5%A6%B9%E3%81%8C%E3%81%93%E3%82%93%E3%81%AA%E3%81%AB%E5%8F%AF%E6%84%9B%E3%81%84%E3%82%8F%E3%81%91%E3%81%8C%E3%81%AA%E3%81%84%2001-11/'
>>> urllib.parse.unquote(urllib.parse.urlsplit(url).path)
'/home/anon/Downloads/(一般小説) [伏見つかさ] 俺の妹がこんなに可愛いわけがない 01-11/'

Не уверен, что там под виндой. Возможно, ещё придётся убрать начальный слэш и заменить прямые слэши на обратные.

>> No.174988  

>>174934

>urllib
>>Устанавливать новых библиотек не хочется.
>> No.174990  

>>174988
Но ведь urllib идет в коробке.

>> No.175201  

Давайте проверим насколько умно гитхаб блокирует проксиёбов!
Мой тор браузер забанили на скачивание https://github.com/rShetty/awesome-podcasts и, кажется, всех остальных репов, а ваш?

>> No.175202  

>>175201
Что ты имеешь в виду? Clone or download > Download ZIP? Это у меня работает.

>> No.175203  

>>175202
Да, у меня это не скачивает. У тебя отключен жс?

>> No.175206  

>>175203
Нет. Но если отключить, то тоже скачивает. Попробовал даже из-под свежезапущенного с отключенным JS.

>> No.175207  

>>175206
У меня тоже скачался сейчас. Но до этого в течении нескольких часов перезапуск не помогал. Я всё-таки думаю, что идентифицирет браузер как-то.

>> No.175301  

JS-букмарклет, открывающий пустую белую вкладку, в которой можно печатать. Можно использовать как быстрый блокнот.

data:text/html;charset=utf-8, <html contenteditable>
>> No.175303  

И еще букмарклет, включающий/выключающий редактирование на любом сайте. Так легче копировать текст, делать навигацию курсором или делать фейковые скриншоты

Вставьте весь код как одну строку в поле URL при добавлении букмарклета.

javascript:(function(){
window.__preventLinkingCallback = window.__preventLinkingCallback || function(e){
e.preventDefault();
e.stopPropagation();
};
if (document.designMode === 'off') {
document.designMode = 'on';
document.querySelectorAll('a[href]').forEach(link => link.addEventListener('click', window.__preventLinkingCallback));
}
else {
document.designMode = 'off';
document.querySelectorAll('a[href]').forEach(link => link.removeEventListener('click', window.__preventLinkingCallback));
}
}());
>> No.175305  

>>175301
Чет не работает.
>>175303
А вот этот работает.

>> No.175577  

>>175301
>>175303
Где скачать третьих героев на js?

>> No.175580  

>>175577
https://habr.com/ru/company/jugru/blog/354014/

>> No.175598  

>>175580
Статья хорошая, но скачать игру не смог.

>> No.175606  

>>175580

>отметить его значимость для сообщества, потому что это единственный полностью написанный клон «Героев» на языке C, использующий дистрибутив оригинальных ресурсов, которые можно к нему подложить
>это единственный способ запустить третьих «Героев» на Android-устройствах

дальше не читал
ваще, довольно забавно наблюдать на новере кондовых таких хаброадептов. ещё лет 5 назад можно было бы предположить, что препятствием является языковой барьер, но тут скорее аддиктивность или нечто иррациональное

>> No.175633  

>>175606

>препятствием является языковой барьер, но тут скорее аддиктивность или нечто иррациональное

Да, я твою не понимать.

>>175301
>>175303
>>175580
Скажите, а как из js фронтендового в браузере гарантированно чистить оперативную память? Какие техники и апи использовали для этого до wasm, где об этом почитать?

>> No.175636  

>>175606
Уже нашел, надо было на английском гуглить. Эх рунет совсем загибается.

>> No.176261  

Для тех кто не может посинкать папку в mutt, потому что в нее постоянно что-то падает:

macro index 2 <sync-mailbox><sync-mailbox>
>> No.176265  

Скажите пожалуйста, как можно автоматизировать переименование субтитров под серии аниме?

>> No.176267  

>>176265
Что-то вроде
ls *ass | while read i ; do mv -v "$i" "$(echo $i | sed 's/replace from regex/replace to pattern/g')" ; done
но вообще у многих плееров есть опция в духе sub-auto=fuzzy которая автоматически матчит отличающиеся по имени субтитры.

>> No.176268  
File: 1591342247709.jpg -(106815 B, 850x927) Thumbnail displayed, click image for full size.
106815

>>176265

> как можно автоматизировать переименование субтитров под серии аниме?

С помощью скрипта. Смотря, в какой ОСи и как выглядят имена файлов изначально. И на чём писать.

>> No.176280  

>>176268

>Смотря, в какой ОСи

Достаточно заставить поставить WSL.

>> No.176287  
File: 1591431433308.jpg -(153276 B, 850x598) Thumbnail displayed, click image for full size.
153276

>>176267
Я один из немногих на этой борде, кто даже отдалённо ничего не понимает ни в программировании ни в линуксе, чтобы понять, что делать с тем, что ты мне написал. Ну да ладно, спасибо. Спустя некоторое время нашел программу под мою задачу.

>> No.176293  

>>176265
Когда-то нашёл ranger и больше боли не знал.
В нём есть скрипт bulkrename(хоть есть и аналоги, но не гуглил), который открывает VISUAL и в нём довольно удобно редактировать, особенно в виме.
До этого однострочниками уровня for-sed.



Delete Post []
Password

[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/]