Siempre se recomienda desmontar correctamente cualquier medio,todavía se puede abrir un archivo, por ejemplo
Puede obligar a los medios a montar solo lectura con opciones de comando de montaje dedicadas a opciones
mount -o ro /dev/media /example/path
puede usar las reglas de udev para forzar esta opción a cualquier medio externo... consulte esta publicación para saber cómo ¿Cómo puedo crear una regla de udev para montar una unidad USB de solo lectura?
< xyz.config tail -n 1 | awk 'match($0, /[0-9]+$/) {
print substr($0, 1, RSTART-1) substr($0, RSTART)+1}'
Чтобы получить последнюю строку файла, извлеките цифры в конце строки, напечатайте то, что предшествует цифрам, за которыми следует число, составляющее эти цифры, увеличенное на единицу.
Вы также можете сделать все это в awk
, но это означает полное чтение всего файла:
< xyz.config awk 'END {if(match($0, /[0-9]+$/))
print substr($0, 1, RSTART-1) substr($0, RSTART)+1}'
Использование операторов sh
:
< xyz.config tail -n1 | (
IFS= read -r line || exit
num=${line##*[!0-9]}
printf '%s\n' "${line%"$num"}$((num + 1))")
Short gawk решение:
awk -v FPAT="[0-9]+" 'END{print "node"$1+1}' xyz.config
Вывод:
node4
FPAT="[0-9]+"
- регулярное выражение, которое соответствует полям, а не соответствует разделителю полей
END{...}
- с учетом только последней строки файла