假设我们有一个文件test_file.csv
:
"261718"|"2017-08-21"|"ramesh_1"|"111"
"261719"|"2017-08-23"|"suresh_1"|"112"
必需的修改后的test_file.csv应为:
"261718"|"2017-08-21"|"ramesh"|"111"
"261719"|"2017-08-23"|"suresh"|"112"
如何使用作为参数传递的必需值来查找和替换第三列?它应该在迭代中。
答案 0 :(得分:0)
您可以将参数保存为逗号分隔值,并将其存储在变量args中。
使用awk
选项将此变量传递给-v
。用第n个数组元素覆盖第三列$3
,其中n是当前行号
args='"ramesh","suresh"'
awk -F "|" -v args=$args '
BEGIN {
split(args,arr,",")
}
{
$3=arr[NR];OFS=FS;print
}' test_file.csv
输出:
"261718"|"2017-08-21"|"ramesh"|"111"
"261719"|"2017-08-23"|"suresh"|"112"