728x90
1) 파일 확장자들은 MY_LIST에서 보이는 것처럼 *.h *.c
2) 변환 fail은 stderr로 올라오는 것을 체크해서 처리
#!/bin/bash
TMP_FILE_OUT=/dev/shm/mytmp.out
TMP_FILE_ERR=/dev/shm/mytmp.err
#iconv -f cp949 -t utf-8
get_file_size()
{
FSIZE=0
if [ -f $1 ] ; then
FSIZE=`wc -c $1|awk ' { print $1 } '`
fi
return $FSIZE
}
MY_LIST=`ls *.h *.c`
for MY_FILE in $MY_LIST
do
get_file_size ${MY_FILE}
SIZE_MY_FILE=$?
if [ ${SIZE_MY_FILE} -gt 0 ]; then
iconv -f cp949 -t utf-8 ${MY_FILE} > ${TMP_FILE_OUT} 2>${TMP_FILE_ERR}
get_file_size ${TMP_FILE_OUT}
SIZE_OUT_FILE=$?
get_file_size ${TMP_FILE_ERR}
SIZE_ERR_FILE=$?
if [ ${SIZE_OUT_FILE} -gt 0 ] ; then
if [ ${SIZE_ERR_FILE} -eq 0 ] ; then
echo "Succ: ${MY_FILE}"
mv ${TMP_FILE_OUT} ${MY_FILE}
else
echo "Error: ${MY_FILE}"
fi
fi
fi
done
728x90
'IT > OS|Network|Script' 카테고리의 다른 글
Python config.ini 보다 입력받은 옵션을 더 우선시 하기 (0) | 2023.09.14 |
---|---|
[AWK] Giga, Kilo, Mega 변환해서 보여주기 (0) | 2023.09.14 |
stdout 에 대한 timestamp 앞에 찍어주기 (0) | 2023.09.14 |
batch 디렉토리내 파일 전부를 각각 분할압축하기 (0) | 2023.09.14 |
VMware vCenter Converter (0) | 2023.09.13 |