Isso mostrará as linhas no arquivo grande que correspondem às linhas da lista.
grep -Ff string-list-file very-big-file
Eu usei o comando diff no passado. Eu enfrentei uma situação para a qual eu não tinha uma pista aqui estão algumas cadeias de texto (que podem ser armazenadas em um arquivo)
CONFIG_XEN=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_DEBUG_FS=y
CONFIG_SWIOTLB_XEN=y
CONFIG_MICROCODE_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_DOM0_PCI=y
CONFIG_XEN_PCI_PASSTHROUGH=y
CONFIG_PCI_XEN=y
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_NETXEN_NIC=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_KBDDEV_FRONTEND=y
CONFIG_HVC_XEN=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_BALLOON=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_BLKDEV_TAP=m
CONFIG_XEN_BLKBACK_PAGEMAP=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_BACKEND_VPCI=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_MCE=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_S3=y
CONFIG_ACPI_PROCESSOR_XEN=y
CONFIG_XEN_PLATFORM_PCI=m
Eu tenho que basicamente encontrar apenas strings acima (não qualquer outra) em um arquivo .config do kernel que se parece com o seguinte
link É um arquivo muito grande.
Agora eu não tinha idéia se por comandos eu posso encontrar as entradas que eu mencionei pela primeira vez se existe no segundo arquivo ou não, então eu copiei manualmente cada entrada e procurei no arquivo .config que eu mencionei.Eu encontrei
existem as seguintes diferenças
# CONFIG_XEN_DEBUG_FS is not set CONFIG_XEN_BLKBACK_PAGEMAP <--- is
completely missing
# CONFIG_XEN_NETDEV_BACKEND is not set
# CONFIG_XEN_BLKDEV_BACKEND is not set
# CONFIG_XEN_BLKDEV_TAP is not set CONFIG_XENFS=y
# CONFIG_XEN_GNTDEV is not set
Isso pode ser facilmente feito por encontrar grep ou algo similar?
Primeiro, classifique seus dois arquivos.
sort list > list-sorted
sort config > config-sorted
Para ver as linhas que estão na sua lista e no seu arquivo de configuração, execute
comm -1 -2 list-sorted config-sorted
Para ver as linhas da sua lista que não estão no seu arquivo de configuração, execute
comm -2 -3 list-sorted config-sorted
Tags diff grep find pattern-matching