Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash sed能做到这一点吗?_Bash - Fatal编程技术网

Bash sed能做到这一点吗?

Bash sed能做到这一点吗?,bash,Bash,你好,我需要处理一个文件,如下所示: 1234 4343 5345345 53453 4343 我要做的是对每行的编号执行follow命令: grep $num1 ./somepath #get num1_res 然后将$num1和$num1_res写入另一个文件,该文件将是: 1234 32 4343 234 5345345 349 53453 78 #...etc sed有没有好的解决方案?或者其他简单的方法 谢谢。您的要求有点含糊不清,但这应该能帮您解决大部分问题: while r

你好,我需要处理一个文件,如下所示:

1234
4343
5345345
53453
4343
我要做的是对每行的编号执行follow命令:

grep $num1 ./somepath  #get num1_res
然后将$num1和$num1_res写入另一个文件,该文件将是:

1234 32
4343 234
5345345 349
53453 78
#...etc
sed有没有好的解决方案?或者其他简单的方法


谢谢。

您的要求有点含糊不清,但这应该能帮您解决大部分问题:

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

你可以用awk。下次请试着更清楚地描述你的问题。基于对你想要什么的猜测

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

您还没有解释num1_res是什么。它在第二个代码区的注释中:似乎我对sed有一个错误的理解。
grep -f file_with_num1_vals file_with_num1_res_vals