Вы можете использовать этот конвейер с любыми необходимыми изменениями:
<<<"$PATH" sed 's/:/\n/g' | xargs -I@ find "@" -name '*a*'
Замените -name '*a*'
любыми фильтрами, которые вам нужны. Если вам не нужно применять фильтры и т. д., вы можете использовать короткую версию для xarg
части конвейера :xargs find
, т.е.:
<<<"$PATH" sed 's/:/\n/g' | xargs find
Часть sed
фактически может быть сведена к здесь строке и определению разделителя, как в:
<<<"$PATH" xargs -d: find
Кажется, что вы запускаете свои команды в разделе, хотя на самом деле вы должны запускать их на самом диске. Также у вас часто будут возникать проблемы при форматировании, если вы заранее не очистите диск должным образом. Хороший способ сделать это:
sudo dd if=/dev/zero of=/dev/sdb
Скорее всего, это займет некоторое время, поэтому второго варианта должно быть более чем достаточно.:
sudo dd if=/dev/zero of=/dev/sdb bs=1M count=8
Часто также рекомендуется синхронизировать записи на диск:
sudo sync /dev/sdb
После удаления первых 8 МБ данных у вас должна быть карта без следов старой таблицы разделов. Вы можете подтвердить это, снова запустив lsblk
и не увидев больше разделов на диске :
sdb 8:16 1 29,5G 0 disk
В этот момент mkfs.vfat
должно быть в состоянии творить чудеса:
sudo mkfs.vfat -F 32 /dev/sdb
Помните, что не все устройства распознают несколько разделов на SD-карте, поэтому рекомендуется всегда записывать раздел непосредственно на диск, а не создавать файловую систему (, такую как DOS или GPT ), если вы не делаете что-то необычное, например, устанавливаете на него ОС для использования на Pi.