如何在移动时格式化文件?

sta*_*any 3 shell awk text-processing files mv

我有2个目录。来源和目的地。我正在将 .csv 文件从源移动到目标

mv -f SOURCE/*.csv DESTINATION/
Run Code Online (Sandbox Code Playgroud)

移动时,我想从目标中的每个文件中删除第一行和最后一行。请帮我执行命令。

Wor*_*ood 6

您不能移动文件,也不能同时编辑它,因为移动文件不会物理移动数据(在同一文件系统上),它只是移动指向数据的指针。您可以复制和转换数据,然后删除原始文件,也可以编辑原始文件,然后移动它。

cd SOURCE
for i in *.csv
do
 awk 'NR>2{print s} {s=$0}' < "$i" > ../DESTINATION/"${i}"
 rm "${i}"
done
Run Code Online (Sandbox Code Playgroud)

如果省略 rm 行,则可以在删除源文件之前验证所有内容是否已按您想要的方式转换。