Искать строку в файлах в текущем каталоге, опускать дубликаты

Только что я обнаружил, что Grub2-модуль "part_dfly" можно найти в [ваш_boot_partition]/boot/grub/i386-pc. Список модулей ядра, которые вы используете на своем ПК, можно найти в [ваш_dragonfly_partition]/boot/loader.conf. Просто измените мой "kfreebsd_module_elf /kernel/.ko" на ваш из loader.conf.

Grub2 загрузит dfly-partition-sheme, затем ядро и RAM-диск-образ из раздела UFS2 (/boot), а DF-BSD загрузит Hammer-FS (root). Таким образом, раздел "/boot"- должен быть доступен для чтения/записи как для Grub2, так и для DF-BSD; единственными кандидатами на эту роль являются UFS и UFS2.

Обратите внимание, что Grub2 чувствителен к регистру, поэтому вы должны писать "kfreebsd_module", используя "маленькие" буквы, но "set kFreeBSD", должен быть написан как заглавными, так и "маленькими" буквами. Так что вы можете попробовать что-то вроде этого:

menuentry "Dragonfly BSD x64 @ (hdX,Y)" {
   insmod part_msdos
   insmod part_dfly
   insmod ufs2
   set root=(hdX,msdosY)
   kfreebsd /kernel/kernel
   kfreebsd_loadenv /boot/device.hints
   kfreebsd_module /kernel/initrd.img type=md_image
   kfreebsd_module_elf /kernel/acpi.ko
   kfreebsd_module_elf /kernel/ahci.ko
   kfreebsd_module_elf /kernel/ehci.ko
   kfreebsd_module_elf /kernel/dm.ko
   kfreebsd_module_elf /kernel/md.ko
   kfreebsd_module_elf /kernel/dm_target_crypt.ko
   kfreebsd_module_elf /kernel/wlan.ko
   kfreebsd_module_elf /kernel/wlan_ccmp.ko
   kfreebsd_module_elf /kernel/wlan_tkip.ko
   kfreebsd_module_elf /kernel/ath_hal.ko
   kfreebsd_module_elf /kernel/ath_rote.ko
   kfreebsd_module_elf /kernel/if_ath.ko
   kfreebsd_module_elf /kernel/sound.ko
   kfreebsd_module_elf /kernel/snd_hda.ko
   set kFreeBSD.vfs.root.mountfrom=ufs:md0s0
   set kFreeBSD.vfs.root.realroot=crypt:hammer:\
   /dev/serno/<your_partition_serno>:dragon

}

Если вы используете нешифрованный hammer-partition вместо:

   set kFreeBSD.vfs.root.mountfrom=ufs:md0s0
   set kFreeBSD.vfs.root.realroot=crypt:hammer:\
   /dev/serno/<your_partiton_serno>:dragon

просто используйте:

   set kFreeBSD.vfs.root.mountfrom=\
   hammer:/dev/serno/<your_partition_serno>:dragon

Удачи!

1
16.02.2016, 00:18
1 ответ
find . ! -name . -prune -type f -exec cat {} + |
  grep mystring |
  LC_ALL=C sort -u

Или:

find . ! -name . -prune -type f -exec cat {} + | awk '
  /mystring/ && !seen[$0]++'

С помощью GNU grep :

LC_ALL=C grep -hr --exclude-dir='?*' mystring | LC_ALL=C sort -u

Или с zsh и GNU grep :

grep -h mystring ./*(D.) | LC_ALL=C sort -u

Также рекурсивный поиск в файлах в подкаталогах:

find . -type f -exec cat {} + |
  grep mystring |
  LC_ALL=C sort -u

Или:

find . -type f -exec cat {} + | awk '
  /mystring/ && !seen[$0]++'

С GNU grep :

grep -hr mystring | LC_ALL=C sort -u

Обратите внимание, что все эти решения также выглядят внутри скрытых файлов (и файлов внутри скрытых каталогов), но не в нестандартных файлах и не будет следовать символическим ссылкам (если вы не используете старую версию GNU grep с -r ) .

2
27.01.2020, 23:36

Теги

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