
즉, 각 .csv 파일에 대해 다음을 수행합니다.
파일의 첫 번째 줄에 "HEADER" 문자열이 포함되어 있는지 확인하세요. 분실한 경우 다음을 수행하십시오.
- "오류: HEADER 레코드가 없습니다"라고 뜹니다.
- 파일 이름을 .csv에서 .head로 바꿉니다.
- 다음 파일로 계속
답변1
for f in *.csv; do
IFS= read -r line < "$f" &&
case $line in (*HEADER*) continue; esac
printf >&2 'ERROR: Missing HEADER record for "%s"\n' "$f"
mv -- "$f" "${f%.*}.head"
done
답변2
노력하다:
for _file in *.csv
do
if ! grep -q 'HEADER' <(head -n 1 -- "$_file")
then
echo >&2 "ERROR: Missing HEADER record for $_file"
# mv -- "$_file" "${_file%.*}.head"
echo "$_file" "${_file%.*}.head"
fi
done
line을 사용하여 echo
제대로 작동하는지 확인하고, 모든 것이 정상이면 mv
line을 사용해 보세요.