« first day  last day (15 days later) » 

7:02 AM
@Qwertiy
ой
find . -name "Virt*" -print0 | xargs -0 cat >> result.mov
find ./ -name "Virt*" -print0 | xargs -0 cat >> result.mov
 
7:34 AM
@donRumata эм? а порядок файлов?
это ж всё из каталога сольёт, нет?
 
 
13 hours later…
8:56 PM
@Qwertiy ну всё, что начинается на Virt. "Virt*bin" - собсно вытащит нужные файлы. Порядок можно посмотреть через find ./ -name "Virt*" -print. Я думал оно у тебя в хронологическом порядке именуется. Соответственно и сортировать особо не надо.
 
@donRumata у меня есть лишние файлы, полностью подходящие под маску - их объединять не надо
 
@Qwertiy А то, что надо объединить - нельзя пихнуть в отдельный каталог?
 
@donRumata то, что надо объединить, перечислено в файле
что, переложить по именам из файла проще, чем объединить?
 
@Qwertiy кстати на счёт объединить. Можешь руками через cat объединить несколько файлов и посмотреть - оно вообще на выходе то или не то?
 
@donRumata ну вроде в линуксе нет проблем с потерей байтов?
по крайней мере, я в куче гайдов видел, как cat применяется к бинарным данным
 
9:01 PM
@Qwertiy в теории - да. Но на практике - я думал, что ща накидаю скрипт - хрен ли там сложного. Раньше же делал.
 
но вот виндовый type что-то так не считает (((
@donRumata там вроде надо просто правильно заэкранироваться?
 
@Qwertiy ага, тока у меня не получается. Это не значит, что невозможно, просто я где-то дико торможу.
 
@donRumata :D
@donRumata сейчас проверю)
заменил по регулярке (?![-.])\W на пустую строку, выполнил твой скрипт
результат верный :)
@donRumata
 
@Qwertiy я не понял чё это за магия
 
@donRumata убрал из имён все небуквенные символы кроме дефисов и точек
 
9:07 PM
@Qwertiy ааааа. Ну может тогда так и оставить?
 
с регуляркой немного перемудрил только)
@donRumata как так?
 
@Qwertiy ну т.е. делать имена файлов без квадратных скобок.
 
@donRumata так мне нравятся скобки
тем более, у тебя проблема с пробелами, а не со скобками
yesterday, by Qwertiy
$ for i in $(< "MVI_0710 - part - [names].AVI [2018_07_14T20_10_17_780Z] [0.0.0.0].txt")
> do
>   cat "$i" >> result.mov
> done
cat: MVI_0710: No such file or directory
cat: '[0': No such file or directory
@donRumata тут видно, что он по пробелу разбил, несмотря на кавычки
 
@Qwertiy ((( тяжело быть тупым. Ок. буду гуглить дальше.
 
@donRumata ты ж вроде всё в линуксе в консоли делаешь?))
 
9:11 PM
@Qwertiy да, только у меня имена файлов в формате 0-9,a-z,-,_
и проблем вообще не возникает.
 
@donRumata какие-то устаревшие имена)
даже в стандартных папках у минта есть пробелы)
и они кириллицей
 
@Qwertiy зато проблем нету.
 
тот же "Рабочий стол"
 
@Qwertiy в бубне тоже - и это дико выбешивает.
 
@donRumata да вроде в линуксе и так проблем нету, хоть экранирование консистентное, не как в винде
кстати, нигде не попадался гайд по экранированию в винде?
я по линуксу на SO видел
 
9:16 PM
@Qwertiy ваще хз
 
110
Q: Which characters need to be escaped in Bash? How do we know it?

fedorquiIs there any comprehensive list of characters that need to be escaped in Bash? Can it be checked just with sed? In particular, I was checking whether % needs to be escaped or not. I tried echo "h%h" | sed 's/%/i/g' and worked fine, without escaping %. Does it mean % does not need to be escape...

@donRumata, держи по линуксу
@donRumata, кстати, а что если printf?
 
@Qwertiy тваюжмать, какой ад. Сколько уже ковыряю sed - всё никак не могу привыкнуть к этому вырвиглазу. Надо будет попросить гугл и кто там ща с ИИ возится, чтобы натаскали его на регулярки. Типа я пишу чё хочу, а ии мне регулярку.
@Qwertiy надо подумать.
 
@donRumata а что не так с седом? прикольная штука, я даже себе на винду поставил - иногда пользуюсь
 
прикольная, когда чё-то несложное надо сделать, а когда чё-то масштабное - начинается нечто напоминающее наркоманский приход.

sed -e 's/[^a-zA-Z0-9,._+@%/-]/\\&/g; 1{$s/^$/""/}; 1!s/^/"/; $!s/$/"/'

как это можно быстро понять?
 
printf "%q" "$i"
вот экранирование, сейчас это кату скормлю
@donRumata лень думать, но при желании понять можно)
2
A: Как узнать, какому файлу принадлежит сектор диска?

QwertiyВ линуксе можно использовать следующее решение: filename=d.img logname=d.log clsz=$(sudo ntfsinfo -m -f $filename 2>/dev/null | grep 'Cluster Size' | \ sed -r "s/.*:/obase=16;/" | bc) for r in $(cat $logname | grep '-' | grep -v 'ddrescue' | \ sed -r "s/0x(\w+)\s+0x(\w+)\s+.*/\1\/$clsz; (\1+\2)\...

@donRumata смотри, какую я штуку делал)))
 
9:25 PM
@Qwertiy ого, я даже в избранное добавил этот вопрос.
и плюсанул
 
@donRumata из-за седа?
 
@Qwertiy из-за специфики. Наверняка когда-нить понадобится, потому что винты иногда дохнут и иногда с них надо вытащить важные файлы.
@Qwertiy блин, при таком уровне твоего скилла - чё я тут вообще забыл?
 
@donRumata но ntfs - немного не линуксовая фс)
@donRumata а что с ним?))
 
@Qwertiy ну я ща читаю чё ты там написал - и понимаю с очень большой пробуксовкой.
 
@donRumata я это доооолго писал)))
 
9:40 PM
for i in $(< join.txt)
do
echo $i
done
@donRumata, косяк не в экранировании, for уже неверно разбивает - по пробелам
931
Q: Looping through the content of a file in Bash

Peter MortensenHow do I iterate through each line of a text file with Bash? With this script: echo "Start!" for p in (peptides.txt) do echo "${p}" done I get this output on the screen: Start! ./runPep.sh: line 3: syntax error near unexpected token `(' ./runPep.sh: line 3: `for p in (peptides.txt)' (L...

@donRumata ^^
впрочем, не работает у меня...
 
while read p; do
cat $p >> 1.mov
done <join.txt
cat: VirtualBox-5.2.12-122591-Win: Нет такого файла или каталога
cat: '[0': Нет такого файла или каталога
cat: 1048576].exe: Нет такого файла или каталога
cat: '[2018_07_15T09_45_52_027Z]': Нет такого файла или каталога
cat: '[12.345.67.890].bin': Нет такого файла или каталога
 
да, работает
моя очередь косячить порсто
читаю переменную f, а вывожу i
@donRumata а теперь ты кавычки пропустил
 
"$p" ?
Да, вроде поехало.
 
while read f; do
  cat "$f" >>result.bin
done <join.txt
почти работает
но есть проблема - последнего куска нет
@donRumata
 
@Qwertiy последний кусок = последняя строка в файле?
 
9:48 PM
@xastor: the last line of your file is not terminated by a newline; in that case, it is not a complete line, and read fails. — Bruno De Fraine Nov 13 '13 at 15:20
@donRumata да, вот ^^
 
@Qwertiy надо добавить пустую строку?
 
@xastor: To make sure the last line is always read - whether newline-terminated or not - use: while read p || [[ -n $p ]]; do ...mklement0 Dec 22 '13 at 16:12
while read f || [[ -n $f ]]; do
  cat "$f" >>result.bin
done <join.txt
@donRumata, получилось
запостишь ответом?
 
@Qwertiy ахренеть!
 
кстати, что это за конструкция?
 
@Qwertiy а я-то тут при чём? Ты ща всё ж нагуглил.
@Qwertiy ты про квадратные скобки?
 
9:51 PM
@donRumata ну изначально-то идея твоя была)
@donRumata вообще про всё это чудо начиная с или
 
@Qwertiy ну если бы я ещё и сделал - то конечно бы запостил.
 
@donRumata что, самому постить?
 
@Qwertiy habr.com/post/47706 - вроде как вот.
@Qwertiy ну да. И тогда поправить заголовок. Добавить в него "bash"
 
@donRumata о, знакомая статейка)
 
@Qwertiy, я папку сношу у себя?
 
9:57 PM
@donRumata ну если не нужна, то сноси)
про конструкцию-то расскажешь?
 
@Qwertiy как я понял - защита от переменной которая начинается как-то не так, например с минуса. Если верить той статье. Я не юзаю эту конструкцию у себя. Мои скрипты примитивнее.
 
@donRumata нет, это чтение последней строки файла
0
A: Объединить бинарные файлы

QwertiyЕсли используется Windows 10, в котором установлена линуксовая подсистема, то вместо командной строки можно использовать bash: while read f || [[ -n $f ]]; do cat "$f" >>result.bin done <join.txt В ответе использованы: Идея участника @donRumata Построчное чтение файла от @BrunoDeFraine Исп...

@donRumata, запостил ответ
 
@Qwertiy крутяк.
 
так, только я не проверил при наличии пустой строки и при виндовых переводах строк
 
@Qwertiy 'fromdos -v -u ./file'
 
10:07 PM
@donRumata это что?
 
@Qwertiy это команда переделывает байты переноса с доса на юникс.
 
@donRumata я уже проверил - и так с любыми рабоает
 
@Qwertiy ну на будущее. Я делал cmd с помощью bash. Юзал как раз todos и iconv
 
@donRumata iconv кодировку меняет, а первый - кто?
 
@Qwertiy а первый меняет байты переноса с юникс на дос. Обратное fromdos
 
10:11 PM
@donRumata а, ясно)
 

« first day  last day (15 days later) »