我有一个专有命令,需要五 (5) 个输入才能正确执行命令。
command -cval <value> -tval <value> -dval <value> -kval <value>
Run Code Online (Sandbox Code Playgroud)
我需要能够通过逐行读取配置文件中的条目来运行此命令,以便在向我提供这 5 个值的新要求时,我可以简单地在我的配置文件底部附加一行新数据和重新运行脚本。简单吧???
我的配置文件设置了“GROUP”前缀,因此我只能以这种方式 grep 包含“GROUP”的文件中的行,以便可以以相同的格式轻松地将新条目添加到配置文件中以进行处理(不确定这是一个好主意):
## ORIG CONFIG FILE ##
cval, tval, dval, mval, kval
cval, tval, dval, mval, kval
cval, tval, dval, mval, kval
...
## GROUP APPENDED CONFIG FILE ##
GROUP, cval, tval, dval, mval, kval
GROUP, cval, tval, dval, mval, kval
GROUP, cval, tval, dval, mval, kval
...
Run Code Online (Sandbox Code Playgroud)
请注意:配置文件中的这些值可能是重复的,这就是我希望逐行处理它们的原因。此外,我可以选择任何方式设置配置文件,所以请随时告诉我为什么这种方式是最佳的或不是最佳的。
我的问题:如何在循环中运行命令来处理我的数据,如下所示:
LOOP1(第一行)命令 cval、tval、dval、mval、kval
LOOP2(用于第二行)命令 cval、tval、dval、mval、kval
LOOP3(用于第三行)命令 cval、tval、dval、mval、kval
...等等,等等,循环配置文件中的每一行。
我有一个 csv 文件,第 4 列包含“_1”的后缀,我需要将其删除,而不会影响 csv 中可能包含或不包含“_1”后缀的其他列。
CSV 文件输出:
DOM, PRO, CONFIG, CONFIG_CALL, PATH
xyz.com, Num1, Num1-V, Asp_tent_1, /bin/home
abc.com, Vel1, Vell-V, Asp_App, /ai/rev/sand
123.com, Xall, X-V, X_all_time_1, /ai/test
321.com, Zall, Z-V, Z_all_1, /bin/usr/home
...
Run Code Online (Sandbox Code Playgroud)
想要的输出:
DOM, PRO, CONFIG, CONFIG_CALL, PATH
xyz.com, Num1, Num1-V Asp_tent, /bin/home
abc.com, Vel1, Vell-V, Asp_App, /ai/rev/sand
123.com, Xall, X-V, X_all_time, /ai/test
321.com, Zall, Z-V, Z_all, /bin/usr/home
Run Code Online (Sandbox Code Playgroud)
我尝试了一些 awk、grep、tr 尝试,但没有成功。