BASH:从每个 csv 到新 csv 的循环剪切列
BASH: Loop cut columns from each csv to new csv
我有许多 .csv 文件都具有相同的 22 列结构。我只需要第 5、14 和 15 列,所以使用:
$ cut -d, -f5,14,1 original.csv > new_original.csv
但是我很快就会每天收到大量 csv,需要使用循环函数对每个 csv 文件执行此操作,并在文件名中添加前缀 "new_" 例如。或者我不介意 -i 就地编辑。
谢谢
您可以在包含 csv 文件的目录中运行以下内容。
for file in *.csv
do
cut -d, -f5,14,1 "$file" > "new_$file.csv"
done
这将遍历它们中的每一个,执行过滤并输出到前缀为 new_
的相同名称。
我有许多 .csv 文件都具有相同的 22 列结构。我只需要第 5、14 和 15 列,所以使用:
$ cut -d, -f5,14,1 original.csv > new_original.csv
但是我很快就会每天收到大量 csv,需要使用循环函数对每个 csv 文件执行此操作,并在文件名中添加前缀 "new_" 例如。或者我不介意 -i 就地编辑。
谢谢
您可以在包含 csv 文件的目录中运行以下内容。
for file in *.csv
do
cut -d, -f5,14,1 "$file" > "new_$file.csv"
done
这将遍历它们中的每一个,执行过滤并输出到前缀为 new_
的相同名称。