Используйтеgrep
:
$ grep -Fof file1 file2
#CHROM POS ID REF ALT QUAL
1 10366 rs58108140 G A
1 51954 rs185832753 G C
-F
используйте фиксированные строки вместо регулярных выражений -o
только соответствие печати -f file1
поиск всех шаблонов/фиксированных строк, по одному на каждую строкуfile1
file2
файл для поиска этих Альтернативное использованиеawk
:
awk '
NR==FNR{s[$0]=1}
NR!=FNR && s[$0]
' file1 file2
На самом деле, вы, вероятно, не указали правильный размер блока. Изman dd
N and BYTES may be followed by the following multiplicative suffixes: c =1,w =2, b =512, kB =1000, K =1024, MB =10001000, M =10241024, xM =M, > GB=100010001000, G=102410241024, and so on for T, P, E, Z, Y.
1024b
копий с размером блока 1024 *512 байт.
Ваша ошибка связана с тем, что dd не распознает B
как допустимое число.
Это работает так, как задумано, 1024B
не является допустимым числом байтов для предоставления команде dd
. 1024b
действителен, но это означает «1024 блока (по 512 байт на блок )», что не соответствует вашим намерениям -это 512 байт x 1024 x 512 = 128 мегабайт (не 0,5 гигабайт ).
В этом случае вам нужен множитель M
, а не B
, и правильной командой будет:
dd if=/dev/zero of=VHD.img bs=1M count=512
, что скопирует 1 мегабайт x 512 = 512 мегабайт или 0,5 гигабайта.