【发布时间】:2012-06-20 01:49:48
【问题描述】:
这是我写的脚本
zgrep -i xxxx FileA | grep -o "RID=[0-9|A-Z]*" | uniq | cut -d "=" -f2 | xargs
在使用xargs 之前,我的o/p 是
01982893213982312 - RID 1
32103213213213213 - RID 2
32103213213213343 - RID 3
32103213213251261 - RID 4
对于此处存在的每个 RID,文件 B 中都有相应的行。我打算在以下内容之后执行以下操作:
zgrep -i xxxx FileA | grep -o "RID=[0-9|A-Z]*" | uniq | cut -d "=" -f2 | xargs|
{grep RID1 in file B, grep RID2 in file B,grep RID3 in file B, grep RID4 in file B}
现在我唯一的问题是如何使用 xargs 引用 RID1,2,3,4....
【问题讨论】:
-
你能从文件 A 和文件 B 中给出几行,并具体指定你想在 shell 中提供什么输入吗?到目前为止,您的脚本是什么样的?
-
FileA 有多大?那是多少行?如果只有几个(比如说,不到一千个),那么有一组选项可用;如果它很大,则选项会更少。此外,RID 是 FileA 每一行中多个字段中的一个,还是每一行中唯一的数据?
-
实际上文件A的大小超过千。关于文件 1 的 RID 输出,例如 09877326369900 92828282828 020292929202 。这些是文件 A 的三个输出。现在我需要获取文件 B 中具有文件 A 输出的相应行...为此,我需要从控制台本身读取文件 A 的输出,而不是将其存储在一个临时文件