linux mtp permit only read file

Обратите внимание, что для определения шаблона простое повторение семпла является простым способ разработать решение, я часто так делаю. Это также позволяет любому другому попробовать его на своей консоли без необходимости создавать файл.

Решение только для Gawk:

echo 'XXAAGGHH (XXXXX) ERRTYTUUUI
AAAAAAAA ( %%))XX) $@@$&%^&&
AADDDDD$ (.SD F@* @) *$%^^&^&&&
AA^@%%^^ ()[))DS((]) RTTYUU' | gawk '{r=gensub(/^[^(]*\((.*)\)[^)]*$/,"\\1","g",$0);print r}'
XXXXX
 %%))XX
.SD F@* @
)[))DS((]

Решение только для awk:

echo 'XXAAGGHH (XXXXX) ERRTYTUUUI
AAAAAAAA ( %%))XX) $@@$&%^&&
AADDDDD$ (.SD F@* @) *$%^^&^&&&
AA^@%%^^ ()[))DS((]) RTTYUU' | awk '{gsub(/^[^(]*\(|\)[^)]*$/,"",$0);print $0}'
XXXXX
 %%))XX
.SD F@* @
)[))DS((]

Решение только для sed:

echo 'XXAAGGHH (XXXXX) ERRTYTUUUI
AAAAAAAA ( %%))XX) $@@$&%^&&
AADDDDD$ (.SD F@* @) *$%^^&^&&&
AA^@%%^^ ()[))DS((]) RTTYUU' | sed -r 's/^[^(]*\(|\)[^)]*$//g'
XXXXX
 %%))XX
.SD F@* @
)[))DS((]

или для файла:

gawk '{r=gensub(/^[^(]*\((.*)\)[^)]*$/,"\\1","g",$0);print r}' input_file
# OR
awk '{gsub(/^[^(]*\(|\)[^)]*$/,"",$0);print $0}' input_file
# OR
sed -r 's/^[^(]*\(|\)[^)]*$//g'  input_file
# all output:
XXXXX
 %%))XX
.SD F@* @
)[))DS((] 

Очень плохая идея пытаться учиться таким образом, однако, просто нет замены биться головой о регулярные выражения, чтобы понять это самостоятельно, иначе вы никогда их не выучите. И, на мой взгляд, мало что может быть более ценным для изучения в долгосрочной перспективе, чем регулярные выражения в программировании.

Эти правила просты: взять все, что не является ( с чего начинается строка, а затем первое (, и проигнорировать или удалить его, затем взять все, что не является ) плюс последнее), заканчивающее строку и игнорировать или удалить это. В приведенных ответах вы заметите, что в этом случае есть два варианта: отрезать начало и конец строки, чтобы получить желаемый результат, или получить желаемый результат, игнорируя начало и конец строки, а затем распечатать результат .

Обратите внимание: если у вас есть шаблон, не так важно, какой язык или инструмент вы используете для его реализации.

1
15.12.2016, 13:49
1 ответ

Установите необходимые пакеты: gvfs-mtp и simple-mtpfs :

sudo dnf install gvfs-mtp simple-mtpfs

Активируйте режим MTP на своем телефоне, затем смонтируйте его через:

simple-mtpfs ~/mnt
0
28.01.2020, 01:06

Теги

Похожие вопросы