나는 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