출력을 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/$/');/
    "
)

관련 정보