使用bash读取CSV文件中的特定列

Gus*_*Gus 1 unix csv bash shell scp

我对bash/shell脚本缺乏经验.我在服务器上需要大量的SCP文件.我有一个文件列表,我需要在一个包含三列的CSV文件中移动.第二列称为file_name,包含文件的路径.

我需要读取文件的每一行,但只处理第二列.我在互联网上发现了类似的东西:

#!/bin/bash

csv_file=$1

while IFS=',' read -r file_name; do
    echo -e "File Name\t: $file_name"
done < $csv_file
IFS=$' \t\n'
Run Code Online (Sandbox Code Playgroud)

但它似乎只输出文件的所有3列.任何指导都会非常感激,我真的不太了解bash.

谢谢!

Bar*_*mar 7

您需要为正在读取的文件的每列使用变量.最后一个变量将获得所有剩余的列.所以它应该是:

while IFS=, read -r col1 file_name col3
Run Code Online (Sandbox Code Playgroud)