将输出放入 SQL 表中

将输出放入 SQL 表中

我正在尝试转换输出

ps awux

分成 11 个字段并删除标题,然后将该输出导入到 SQL 中的现有表中。

答案1

for line in $(ps auwx | sed -e 's/\ \+/\",\"/g'); do
    echo "insert into tbl_name values(\"$line\")"; 
done | mysql

答案2

您可以删除第一行sed 1d

您可以使用以下命令创建值列表

sql=$( 
    echo "$line" | sed "
    s/'/''/g
    s/[[:space:]]\+/','/   # 1
    s/[[:space:]]\+/','/   # 2
    s/[[:space:]]\+/','/   # 3
    s/[[:space:]]\+/','/   # 4
    s/[[:space:]]\+/','/   # 5
    s/[[:space:]]\+/','/   # 6
    s/[[:space:]]\+/','/   # 7
    s/[[:space:]]\+/','/   # 8
    s/[[:space:]]\+/','/   # 9
    s/[[:space:]]\+/','/   # 10
    s/^/INSERT INTO table_name VALUES ('/
    s/$/');/
    "
)

相关内容