2010-03-18 2 views
-1

Hiall, мне нужно иметь дело с файлом, который, кажется, выглядит следующим образом:Можно ли это сделать sed?

1234 
4343 
5345345 
53453 
4343 

И то, что я хочу сделать, это выполнить команду последующей числу каждой строки:

grep $num1 ./somepath #get num1_res 

Затем написать $ num1 и $ num1_res в другой файл, который будет:

1234 32 
4343 234 
5345345 349 
53453 78 
#...etc 

Любое хорошее решение по СЭД или какой-либо другой простой способ?

Спасибо.

+0

Вы не объяснили, что num1_res есть. –

+0

Это комментарий второй кодовой области :) – Young

+0

Кажется, у меня есть недоразумение о sed. – Young

ответ

4

Ваши требования немного мутное, но это должно вам большую часть пути:

while read value 
do 
    echo "$value $(grep "$value" somepath)" 
done < somefile 
1

вы можете использовать AWK. (Пожалуйста, попробуйте более подробно описать свой вопрос в следующий раз). Основываясь на догадках того, что вы хотите.

awk 'FNR==NR{ 
    list[$0] 
    next 
} 
{ 
    for(i in list){ 
    if ($0~i){ 
     print i,$0 
    } 
    } 
} 
' thelist ./somepath/myfile 
0
grep -f file_with_num1_vals file_with_num1_res_vals