【发布时间】:2017-07-10 02:35:20
【问题描述】:
我是 bash 脚本的新手 我有以下 CSV
输入
ID Location Way Day DayTime NightTime StandNo
1 abc Up mon 6.00 18.00 6
预期输出
ID Location Way Day DayTime NightTime StandNo
1 ABC UP Mon 6.00 18.00 6
我需要检查位置和方式并将它们转换为大写 - ABC,UP 一天必须是星期一 - 星期一 我需要对整个 CSV 执行此操作。我需要更正值并将所有字段写入 CSV 或编辑当前单元格并保存 CSV 我的脚本如下
file = "Myfile.csv"
while IFS="," read line
do
output=`echo $line | cut -d "," -f2`
echo $output
for i in $output
do
if [ -z $(echo $I | sed -e "s/[a-z]//g") ]
then
echo $I | tr "[:lower:]" "[:upper:]" >> ".tempfile.CSV"
fi
done
done <$file
`1.目前,这仅写入校正值,而不是整行连同校正值。 [不确定如何循环遍历每行中的单元格值,更正需要更正的值,然后复制整行]
任何帮助都会很有用。
【问题讨论】:
-
学习使用shellcheck.net之前你在这里发布你的代码;-)。当你使用 shellcheck 时,你需要在第一行包含一个正确的“she-bang”行,通常是
#!/bin/bash。祝你好运。