Может ли это быть сделано с помощью sed? - PullRequest
0 голосов
/ 18 марта 2010

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

1234
4343
5345345
53453
4343

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

grep $num1 ./somepath  #get num1_res

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

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

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

Спасибо.

Ответы [ 3 ]

4 голосов
/ 18 марта 2010

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

while read value
do
  echo "$value $(grep "$value" somepath)"
done < somefile
1 голос
/ 18 марта 2010

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

awk 'FNR==NR{
  list[$0]
  next
}
{
  for(i in list){
    if ( $0~i){
      print i,$0
    }
  }
}
' thelist ./somepath/myfile
0 голосов
/ 18 марта 2010
grep -f file_with_num1_vals file_with_num1_res_vals
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...