Когда система не является подробной о присоединении нового USB-устройства, можно всегда проверять вывод dmesg
видеть если приложенное новое обнаруживаемое USB-устройство.
Для доступа к устройству хранения данных на Устройстве на iOS Вам будет нужен gtkpod-aac пакет (Который является, это - имя в Debian/Ubuntu), другие дистрибутивы могут использовать другое имя.
См. эту статью TechRepublic, имеет некоторые хорошие подсказки: http://www.techrepublic.com/blog/opensource/how-do-i-connect-an-apple-ipod-to-an-ubuntu-linux-pc/217
Если разделители могут несколько раз появляться на строки, Вы могли бы использовать жемчуг вместо этого как:
between() {
perl -Tlne 'BEGIN{$b=shift;$e=shift}
print for /\Q$b\E(.*?)\Q$e\E/g' "$@"
}
И затем например:
$ echo "[b]test[e] foo [b]bar[e]" | between '[b]' '[e]'
test
bar
Можно также использовать его как:
between BEG END file1 file2...
Выполнение этого в sed в общем потребовало бы, чтобы символы выхода в regexp раньше находили подстроку, которую я нашел здесь (примечание: больше информации здесь, если Вы сталкиваетесь с проблемами).
Затем я нашел, как передать по каналу в функцию здесь.
Помещение всего, что вместе в функцию я могу использовать в моем .bashrc
, похож (хотя я не должен устанавливать a и b Вар, но он помогает читать):
between(){
a=$(printf '%s\n' "$1"|sed 's![\*.^$/[]!\\&!g')
b=$(printf '%s\n' "$2"|sed 's![\*.^$/[]!\\&!g')
sed "s/.*$a\(.*\)$b.*/\1/"
}
как Joseph R. упомянул, этот ответ шоу, как использовать grep-oP, чтобы сделать подобный. Для выхода из совместимого с Perl regexp, я нашел это, поэтому возможно, следующее будет работать также:
between(){
a=$(printf '%s\n' "$1"|sed 's![]\*.^+?(){|$[]!\\&!g')
b=$(printf '%s\n' "$2"|sed 's![]\*.^+?(){|$[]!\\&!g')
grep -oP "(?=$a).*?(?=$b)"
}
\^$[.*
и s управляют разделителем как /
для BREs. Использование a while read
цикл делает не, распознаются здесь.
– Stéphane Chazelas
27.09.2013, 21:56
:
в первом, потому что я нахожусь в POSIX (я разъясню, что также), но для второго это - PCRE, таким образом, я думал, что должен был выйти .^$*+?()[{\|
? Для второй части Вашего комментария я передаю по каналу в него, который является причиной while read
. Я разъясню это в ответе.
– Gary S. Weaver
27.09.2013, 22:03
:
имеет только значение внутри [...]
внутри [...]
как в [[:blank:]]
. После того как Вы вышли весь [
, нет никакой потребности выйти :
или ]
.
– Stéphane Chazelas
27.09.2013, 22:13
echo
или function
или a while read
цикл.
– Stéphane Chazelas
27.09.2013, 22:23
\Q
для. – Stéphane Chazelas 27.09.2013, 22:24