Как уже говорили другие, в awk
нет теста -z
, а тест -z
в оболочке проверяет пустые строки, а не целые числа.
В awk
вы должны сделать следующее, чтобы проверить, является ли переменная пустой (и вывести ноль, если это так, или ее значение, если это не так):
if (value == "")
print 0
else
print value
или,
print (value == "" ? 0 : value)
Например:
$ awk -F '\t' '{ print ($1 == "" ? 0 : $1) }' file
для печати нуля для тех строк, первая вкладка -которых разделяет значение во вводе пустым, и фактическое значение в противном случае.
Возможно, связано (, если вы хотите найти тип переменной вawk
):
Вы просто сбрасываете таблицу разделов, у вас там нет файловой системы. Вам нужно запустить mkfs
на разделе, чтобы сделать это:
mkfs -tvfat /dev/sdb1
Обратите внимание, что вы хотите создать файловую систему на разделе (sdb1
), а не на всем диске(sdb
без номеров ).
Кроме того, вы можете проверить тип раздела, отмеченный в таблице разделов. Системам Windows может не понравиться флешка, если на ней есть раздел, отмеченный как раздел Linux. Глядя на справочную страницу , я не уверен, что parted
позволяет изменить тип существующего раздела, но mkpart primary fat32 1MiB 100%
, похоже, работает.
Устройства хранения должны быть отформатированы , чтобы иметь возможность хранить информацию. Форматирование подразумевает создание файловой системы . Их много, но мы можем упомянуть FAT, NTFS --, оба формата Windows --и EXT, которые обычно используются системами Linux.
После форматирования диск может хранить информацию. Форматирование включает в себя создание разделов, которые в именовании Linux представляют собой числа, прикрепленные к имени устройства, например sda1
, sdb2
и т. д. Эти разделы — это разделы, которые ОС монтирует в точке монтирования, где вы можете получить доступ к Информация.
Я думаю, это то, что вы имеете в виду под "нормальным".
Имея это в виду, мы можем немного объяснить вашу команду mkpart primary ext4
, вы говорите parted
создать раздел(первичный )с форматом файловой системы EXT4 .
Вам не нужен определенный формат (файловая система ),если вы не знаете, какой из них может быть прочитан разными ОС или устройствами. Например, Windows не читает никаких форматов, кроме своих, FAT и NTFS.
Вопрос «что вы подразумеваете под нормальным» является решающим. Мой Mac, кажется, «любит» совсем другие диски, чем мой Linux. Встроенные машины в моей работе сильно отличаются от обоих...
Например,. «обычный небольшой флэш-диск» (раздел MBR и файловая система VFAT):
Сначала вам нужно создать раздел нужного типа. Запустите sudo cfisk /dev/sdb
и создайте новый раздел на всем дисковом пространстве. Установите тип на 0c и сохраните.
Затем вам нужно поместить на него правильную файловую систему. sudo mkfs.vfat /dev/sdb1
должно помочь.