将sqoop的输出导出到本地的文本文件中

时间:2017-10-04 18:35:04

标签: bash shell sqoop

我正在尝试获取 mysql 表中的行数,并尝试将数据计数到文本文件到本地计算机上。

我使用以下命令:

sqoop-eval --connect jdbc:mysql:url -username -password \
           --query"select count(*) from test" >> data.txt

我得到以下输出:

------------------------
| COUNT                |
------------------------
| 7548757              |
------------------------

我正在寻找输出文件中的数字:

7548757

除了伯爵以外什么都没有。我怎样才能实现它?

1 个答案:

答案 0 :(得分:1)

输出数据并不复杂,所以有很多方法可以做到这一点,这里有一些:

  1. 使用tr

    sqoop-eval --connect jdbc:mysql:url -username -password \
               --query"select count(*) from test" | 
    { tr -cd '[:digit:]' ; echo ; } >> data.txt
    
  2. grep

    sqoop-eval --connect jdbc:mysql:url -username -password \
               --query"select count(*) from test" | 
    grep -o '[[:digit:]]*' >> data.txt
    
  3. numgrep

    sqoop-eval --connect jdbc:mysql:url -username -password \
               --query"select count(*) from test" | 
    numgrep -l /0../ >> data.txt
    
  4. 三者的输出相同:

    7548757