在UNIX中汇总多个文件

时间:2018-08-27 10:58:28

标签: bash unix scope uniq

我正在尝试汇总多个文件。当我显示变量时,它包含null

a=`cat file1| sort | uniq | wc -l` & # file1 have 200k records

b=`cat file2|sort | uniq | wc -l` & # file1 have 240k records

sh -x process1.sh &

wait

echo a=$a

echo b=$b

输出

a=

b=

预期产量

a=200000

b=240000

1 个答案:

答案 0 :(得分:1)

尝试:

a=`cat file1| sort | uniq | wc -l &` 

代替:

a=`cat file1| sort | uniq | wc -l` & 

还有几个小问题:

  1. 没用的猫。

  2. 使用反引号代替$(...)

  3. 在变量周围没有双引号

重构的工作版本:

#!/bin/bash 

a=$(sort file1 | uniq | wc -l &)
b=$(sort file2 | uniq | wc -l &)
wait
echo a="$a"
echo b="$b"