이동할 때 파일 형식을 지정하는 방법은 무엇입니까?

이동할 때 파일 형식을 지정하는 방법은 무엇입니까?

나는 2 개의 디렉토리를 가지고 있습니다. 소스 및 대상. .csv 파일을 소스에서 대상으로 이동했습니다.

mv -f SOURCE/*.csv DESTINATION/

이동할 때 대상에 있는 각 파일의 첫 번째 줄과 마지막 줄을 제거하고 싶습니다. 명령을 실행하도록 도와주세요.

답변1

파일을 이동하는 동시에 편집할 수는 없습니다. 파일을 이동해도 (동일한 파일 시스템에서) 데이터가 물리적으로 이동하는 것이 아니라 포인터가 데이터로 이동하기 때문입니다. 데이터를 복사 및 변환한 후 원본 파일을 삭제할 수도 있고, 원본 파일을 편집한 후 이동할 수도 있습니다.

cd SOURCE
for i in *.csv
do
 awk 'NR>2{print s} {s=$0}' < "$i" > ../DESTINATION/"${i}"
 rm "${i}"
done

rm 줄을 생략하면 소스 파일을 삭제하기 전에 모든 것이 원하는 방식으로 변환되었는지 확인할 수 있습니다.

답변2

cd SOURCE
for i in *.csv
do
 sed -i '$d' "$i"
 sed -i '1d' "$i"
 mv "$i" DESTINATION/
done

관련 정보