쉘 스크립트 (KSH)를 만들고 있는데 BOM이없는 UTF-8 CSV 파일을 BOM이있는 UTF-8 파일로 변환하고 싶습니다. BOM없이 BOM을 파일에 추가). 당신의 도움에 대한KSH : UTF-8 CSV 파일에 BOM을 추가하는 방법
감사
쉘 스크립트 (KSH)를 만들고 있는데 BOM이없는 UTF-8 CSV 파일을 BOM이있는 UTF-8 파일로 변환하고 싶습니다. BOM없이 BOM을 파일에 추가). 당신의 도움에 대한KSH : UTF-8 CSV 파일에 BOM을 추가하는 방법
감사
가증 추가하는 동안 표준 출력을 표준 입력에서 복사 예를 들어, 그래서 당신은 단지 파일의 내용 전에 출력하여 원하는 혐오를 추가 할 수 있습니다
#!/bin/ksh
printf '\357\273\277'
cat
을
하지만 왜 그렇게하고 싶습니까? 거의 항상 나쁜 생각입니다.
이미 존재하지 않는 경우에만 새로운 aBOMination을 쓰는 또 다른 해결책이 있습니다. 보시다시피, 그것은 뒤얽힌 것입니다 ... 처음에는 보미 네이션을 사용하는 것이 나쁜 생각입니다. GNU od
이 필요할 수 있습니다.
#!/bin/ksh
# write a new aBOMination
printf '\357\273\277'
# now read the first 3 bytes of the original file
set -- $(od -N3 -to1)
if [ "$2" = 357 -a "$3" = 273 -a "$4" = 277 ]; then
# there already was an aBOMination.
# Absorb it and write out the rest of the file
cat
else
# the first three bytes of the file were normal. Output them.
if [ $# -lt 3 ]; then
# file was empty
:
elif [ $# -eq 3 ]; then
# file had only one byte
printf "\\$2"
elif [ $# -eq 4 ]; then
# file had only two bytes
printf "\\$2\\$3"
else
# file had 3 or more bytes.
# Ouput the first 3
printf "\\$2\\$3\\$4"
# then the rest
cat
fi
fi
Windows 이메일에는 BOM이 필요합니다. 고마워, 이건 유용했다. – momobo
UTF-8 BOM은 권장되지 않으므로 그 이유는 무엇입니까? 파일 내용을 읽는 프로그램이 잘못 해석 했습니까? –