我正在尝试将逗号分隔文件解析为几个数组。
第一个数组将包含文件第1列的值 第二个数组将包含文件第3列的值
我正在使用readarry和cut来尝试完成此任务,但我正在解决语法错误:
readarray -t VLANs < <( cut -d, -f1 /logs/repository/vlansList.csv )
readarray -t VLANs < <(cut -d, -f1 $1)
上述两种方法都不起作用。
错误是:
./ios2NX.sh: line 59: syntax error near unexpected token `<'
./ios2NX.sh: line 59: ` readarray -t VLANs < <( cut -d, -f1 /logs/repository/vlansList.csv)'
有趣的是,如果我用bash - [script_name]
测试脚本,则不会显示错误我尝试将路径放在引号和双引号中,引发了同样的错误。
你们知道我在这里缺少什么,或者可以提出比readarray + cut更好的方法吗? (我的文件中的行包含空格)
提前致谢!
答案 0 :(得分:3)
问题在于您正在撰写bash
但正在使用sh
投放。
如果你的shebang是#!/bin/sh
,请将其替换为#!/bin/bash
如果您正在运行sh yourfile
,请改为运行bash yourfile
。