bash
行頭の空白削除 sed 's/^[ \t]*//' 行末の空白削除 sed -e 's/[ \t]*$//'
CRを削除する方法はググれば山ほど出てくるけど、CRLFをまとめて削除する方法はなかなか見つからない。CSVファイルのカラム中の改行を処理するために考案。ポイント sed で LF は処理できない trは1文字の変換しかできない ない知恵絞った結果 ↓ #!/bin/bash…
#!/bin/bash TARGET_DIR=/hoge/hoge DELETE_DAY=`date +"%Y%m%d" -d '14 days ago'` cd $TARGET_DIR FILE_LIST=`ls` for FILE in $FILE_LIST do # ファイル名にYYYYMMDDを含む if [[ ${FILE} =~ 201[0-9]{5} ]] then # ファイル名日付部分を取り出す FILE_DA…
nkf -w CSVファイル | 文字コード UTF-8 に変換 tail -n +2 | awk 'BEGIN {FS=","; OFS=",";} psql -c 'COPY テーブル FROM stdin WITH CSV' データベース