0
我在bash脚本中逐行读取文本文件。我正在阅读的文本文件是一个制表符分隔csv - 但是,当我尝试切割阅读线,它不起作用,似乎\ t被转换到某处的空白区域 t标签在bash脚本中丢失
下面的代码不是最后我在做什么 - 我还没有实现代码的实际工作量,直到数据可以可靠地读取。
for ((currlineno=2 ; $currlineno <= $maxlines ; currlineno++)); do
currline=$(sed -n "$currlineno"p "$IMPORT_TABLE".csv)
echo $currline |cut -f2
done
现在
当我改变了两行类似下面它的工作原理
for ((currlineno=2 ; $currlineno <= $maxlines ; currlineno++)); do
currline=$(sed -n "$currlineno"p "$IMPORT_TABLE".csv |tr '\t' ';')
echo $currline |cut -f2 -d ';'
done
,但我不能那样做我的文本文件还包含“;” ','和'。'在田野里。 Tab是我唯一可以接受的选项,因为我的字段永远不会包含它。
引用:'echo“$ currline”| cut -f2' – anubhava
或更好地跳过'currline'并使用:'sed -n“$ currlineno”p“$ IMPORT_TABLE”.csv |切-f2' – anubhava
谢谢。实际上,我将不得不提取每个字段的剪辑,并且我想阻止每个30个字段的文件读取。所以引用变量为我做了这份工作。谢谢 –