Следующие действия отключат USB-устройство.
sudo eject /dev/sde
Следующее приведет к повторному подключению USB-устройства.
sudo eject -t /dev/sde
Описанное выше работает на моем Linux Mint.
Ссылка:http://www.upubuntu.com/2011/09/how-to-remount-usb-stick-without.html
попробуйте это, заключите символы, которые вы хотите найти, в Выражение скобок[...]
.
grep '[?!#*% ]' infile
есть некоторые исключения, такие как:
^
символ :он может быть размещен в любом месте в []
, но не в первом символе, потому что символ ^
сначала инвертирует символы в его выражении скобок. ]
:должен быть первым символом, потому что этот символ также используется для завершения выражения в квадратных скобках. -
символ :это должен быть первый или последний символ, потому что этот символ также может использоваться для определения диапазона символов. Зависит от ваших потребностей, которые вы хотите выполнить с найденными персонажами:
Печатать только те символы, если они существуют
grep -o '[?!#*% ]' infile
Удалить эти символы:
tr -d '[?!#*% ]' < infile ##or
sed 's/[?!#*% ]//g' infile ##or
awk '{ gsub(/[?!#*% ]/, "") }1' infile
Замените их, скажем, одним пробелом:
tr '[?!#*% ]' ' ' < infile ##or
sed 's/[?!#*% ]/ /g' infile ##or
awk '{ gsub(/[?!#*% ]/, " ") }1' infile
Заменить другой строкой:
sed 's/[?!#*% ]/someString/g' infile ##or
awk '{ gsub(/[?!#*% ]/, "someString") }1' infile
Вывести всю строку, в которой хотя бы одно из них встречается в строке:
grep --color=none '[?!#*% ]' infile ##or
sed '/[?!#*% ]/!d' infile ##or
awk '/[?!#*% ]/' infile
и т. д.
Чтобы найти любую строку, соответствующую хотя бы одному из упомянутых вами символов:
grep '[ !?#*%]' file.csv # looks for space, !, ?, #, *, % into file.csv and shows matching lines
Будьте осторожны :некоторые символы должны находиться в определенном месте (пример :"[a -c]" ищет "a, b или c", а не "a, -] или с")
Вы также должны указать локаль, в которой будет работать grep.Обычно :локаль C. Это помогает предотвратить определенную локаль (для вариантов ex utf -8 ), чтобы испортить указанный диапазон, если таковой имеется.
Поиск «любой строки, соответствующей любому символу, отличному от :букв, цифр или запятой» в файле csv (при условии, что в качестве разделителя используется запятая, в противном случае просто измените разделитель, который вы фактически используете):
LC_ALL=C grep '[^a-zA-Z0-9,]' file.csv
# and if you also accept doubleqhotes in that csv:
LC_ALL=C grep '[^a-zA-Z0-9,"]' file.csv
# and if instead of comma you use TAB as a separator
LC_ALL=C grep "[^a-zA-Z0-9$$(printf '\t')]\"" file.csv
-or-
LC_ALL=C grep "[^a-zA-Z0-9$$(printf '\t"')]" file.csv