実現したいこと
英字・数字・日本語など混在するCSV(TSV)データの文字・改行コードを変換したいと考えています。
下記シェルスクリプトを実行すると、変換前は日本語も含めて表示されていましたが、変換後は日本語部分だけ消えてしまいます。
元データを十分残したままコード変換する方法、またオプションなど誤っている部分があればご教授いただきたいです。
変換前文字コード:SJIS、UTF-8
変換後文字コード:UTF-8 (SJISファイルも存在するため、対象ファイルすべてを変換しようとしています)
bash
1#!/bin/bash 2 3# バッチ実行 4echo "### START Convert" 5 6# PostgreSQL接続 7echo "### DB Connect" 8psql postgresql://xxx.xxx.xxx.xxx:5432/xxx_xxx -U root << EOF 9 10\COPY table_1 TO '/tmp/test.tsv' WITH CSV HEADER NULL AS 'null' DELIMITER E'\t' 11\COPY table_2 TO '/tmp/test2.tsv' WITH CSV HEADER NULL AS 'null' DELIMITER E'\t' 12 13EOF 14 15# 改行コード変換(CRLF) 16echo "### code Convert" 17for file in /パス/*.tsv 18do 19 nkf -lw -w8 ${file} > ${file}.tsv 20done 21 22# バッチ終了 23echo "END Convert" 24 25exit 0 26
下記に参考としてCSV出力例を記載します。
SAMPLE
1実行前CSV 2header1 header2 3001 001テスト.1 4 5実行後CSV 6header1 header2 7001 001.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/22 02:51
2019/01/22 03:07
2019/01/22 03:39
2019/01/22 03:53
2019/01/22 04:35
2019/01/22 04:53