小编Der*_*har的帖子

SQLite 命令“.import”如何直接从标准输入读取?

您将如何修改函数csv_to_sqlite以便sqlite3命令.import直接从标准输入而不是从临时命名管道读取?

#!/bin/bash

function csv_to_sqlite() {
  local database_file_name="$1"
  local table_name="$2"
  local temp_input_fifo=$(mktemp -u)
  mkfifo $temp_input_fifo
  sqlite3 -csv $database_file_name ".import $temp_input_fifo $table_name" &
  cat > $temp_input_fifo
  rm $temp_input_fifo
}

database_file_name=$1
table_name=$2

csv_to_sqlite "$database_file_name" "$table_name"
Run Code Online (Sandbox Code Playgroud)
$ printf "col1,col2,col3\na,1,2.6\nb,2,5.4\n" | ./csv_to_sqlite test.sqlite test
$ sqlite3 -csv -header test.sqlite "SELECT * FROM test"
col1,col2,col3
a,1,2.6
b,2,5.4
Run Code Online (Sandbox Code Playgroud)

bash io-redirection shell-script csv sqlite

3
推荐指数
1
解决办法
220
查看次数

像sql一样查询csv文件

这显然是一个流行的面试问题:

有 2 个包含恐龙数据的 CSV 文件。我们需要查询它们以返回满足特定条件的恐龙。

有 2 个选择 - 仅使用 Unix 命令行工具 ( cut/// ) ,或者使用 Python 等脚本语言,但不使用、等附加paste模块。sedawkqfsqlcsvkit

编写一个程序来读取 csv 文件,并仅打印双足恐龙的名称,按速度从最快到最慢排序。

在 SQL 中,这很简单:

select f2.name from
file1 f1 join file2 f2 on …
Run Code Online (Sandbox Code Playgroud)

bash awk python csv

-1
推荐指数
1
解决办法
2154
查看次数

标签 统计

bash ×2

csv ×2

awk ×1

io-redirection ×1

python ×1

shell-script ×1

sqlite ×1