Создать и заполнить файловую систему FAT32 без ее монтирования

Зачем использовать sed или awk, если вы уже обрабатываете файл построчно в оболочке? Что-то вроде этого будет работать без использования кучи других программ.

[[ $line =~ '^[[:space:]]' ]] || indent=0
if [[ $line =~ ^someconfig.* || $indent ]]
then
    echo -n "#"
    indent=1
fi
echo "$line"

Отправить вывод цикла во временный файл, а затем mvкак в (тоже очень хорошо )ответ awk:

done <$file >$file.tmp && mv $file.tmp $file

Обычно я предпочитаю, чтобы переименование было связано с &&, чтобы этого не произошло в случае сбоя команды. Кроме того, извините за возможные опечатки -Я печатаю это на телефоне,и трудно писать код на клавиатуре телефона.:)

24
17.01.2021, 02:31
1 ответ

Конечно, несмотря на все мои безуспешные поиски, я наконец нашел ответ только через несколько секунд после того, как задал вопрос об этом.

Таким образом, пакет mtoolsможет сделать это следующим образом:

# Create a 2 MB file
dd if=/dev/zero of=disk.img bs=1M count=2

# Put a FAT filesystem on it (use -F for FAT32, otherwise it's automatic)
mformat -i disk.img ::

# Add a file to it
mcopy -i disk.img example.txt ::

# List files
mdir -i disk.img ::

# Extract a file
mcopy -i disk.img ::/example.txt extracted.txt

mtoolsработает, указывая буквы диска (, например C:), со специальным :диском (, указанным как ::), ссылаясь на образ, указанный в командной строке с опцией -i.

43
18.03.2021, 22:36

Теги

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