我编写了一个bash脚本(File.sh)来更改具有特定字符串(NULL)的文件(File.txt)的第三列。
File.txt -
abc def 123
qwe gfh 456
File.sh -
#!/bin/bash
FILE1='file.txt'
while IFS= read -r line
do
awk '$3= "NULL"' file.txt > tmp.txt && mv tmp.txt file.txt
done <"$FILE1"
这很好。
输出
abc def NULL
qwe gfh NULL
但现在我正在尝试使用变量而不是文本更新第三列 -
var='NULL'
awk '$3= $var' file.txt > tmp.txt && mv tmp.txt file.txt
这不起作用。什么可能是语法错误。
答案 0 :(得分:0)
请你试试。
var="NULL"
awk -v var="$var" '{$3=var} 1' Input_file > temp_file && mv temp_file Input_fle