Я хочу скопировать строки из одного текстового файла в другой, если он содержит определенный шаблон

Перенаправление вывода выполняется оболочкой, а оболочка без полномочий root не имеет доступа к /dev/sda. Если вы не хотите переходить на корневую оболочку, вы можете запустить команду с sudoи tee:

cat /dev/zero | pv | sudo tee /dev/sda
0
12.09.2017, 07:43
2 ответа

Вы можете использовать команду следующим образом.

grep -Fwe "$(awk '{print $1}' file1)" file2 >output.txt

Это получение первого столбца файла1 и подача в grepв качестве набора ШАБЛОНОВ поиска в файле2.

В предоставленных вами выборочных данных нет совпадающих данных, но это работает.

2
28.01.2020, 02:33

используйте оператор соединения . Предполагая, что разделители являются пробелом.

join -t ' ' -1 1 -2 1 \
           <(sort -t ' ' -k1,1 file1.txt) \
           <(tr ":" " " < file2.txt | cut -d ' ' -f 2 | sort -t ' ' -k1,1 ) 

PS :для вопросов по биоинформатике следует использоватьhttp://biostars.org

0
28.01.2020, 02:33

Теги

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