Linux 有人能解释一下下面的代码和下面的查询吗
我确实使用了手册,但我无法将所有选项组合在一起,以了解上面的代码实际上在做什么Linux 有人能解释一下下面的代码和下面的查询吗,linux,unix,awk,Linux,Unix,Awk,我确实使用了手册,但我无法将所有选项组合在一起,以了解上面的代码实际上在做什么 awk -v v='"' 'BEGIN{FS=OFS=v}{gsub(",","",$2);print }' \ ${SOURCE_LOCATION}/TEMP1_$file_name>${SOURCE_FILE_LOCATION}/TEMP2_$file_name 什么时候我们必须在代码中的“$”后面使用花括号,什么时候不使用。请解释一下。非常感谢您的帮助。当变量名后面跟有不属于变量名但可能与之混淆的
awk -v v='"' 'BEGIN{FS=OFS=v}{gsub(",","",$2);print }' \
${SOURCE_LOCATION}/TEMP1_$file_name>${SOURCE_FILE_LOCATION}/TEMP2_$file_name
什么时候我们必须在代码中的“$”后面使用花括号,什么时候不使用。请解释一下。非常感谢您的帮助。当变量名后面跟有不属于变量名但可能与之混淆的内容时,必须使用花括号语法。例如,比较
hello="Hello"
echo $hello_world
与
第一个输出一个空行(或者shell变量hello\u world
的值,如果存在),第二个输出hello\u world
在您的情况下,它们不是必需的,因为斜杠永远不能成为变量名的一部分。有些人喜欢使用括号来明确变量的起始位置和结束位置,即使不需要括号。当变量名后面跟有不属于变量名但可能与之混淆的内容时,必须使用花括号语法。例如,比较
hello="Hello"
echo $hello_world
与
第一个输出一个空行(或者shell变量hello\u world
的值,如果存在),第二个输出hello\u world
在您的情况下,它们不是必需的,因为斜杠永远不能成为变量名的一部分。有些人喜欢使用括号来明确变量的开始和结束位置,即使不需要括号。此命令将删除第二个字段中的所有逗号。字段分隔符是引号字符
“
(由FS
指定)
例如,以下字符串:
something "string, with, commas" something "else, here, and more"
将转变为:
something "string with commas" something "else, here, and more"
@Joni很好地解释了变量名中{}
的重要性
输入从文件
${SOURCE\u LOCATION}/TEMP1\u$file\u name
读取,输出重定向到${SOURCE\u LOCATION}/TEMP2\u$file\u name
此命令将删除第二个字段中的所有逗号。字段分隔符为引号字符“
(由FS
指定)
例如,以下字符串:
something "string, with, commas" something "else, here, and more"
将转变为:
something "string with commas" something "else, here, and more"
@Joni很好地解释了变量名中{}
的重要性
从文件
${SOURCE\u LOCATION}/TEMP1\u$file\u name
读取输入,并将输出重定向到${SOURCE\u LOCATION}/TEMP2_$file_name
这个问题实际上应该是两个不同的问题。这个问题实际上应该是两个不同的问题。是否有方法检查文件所有列的相同条件,并用空格替换双引号中的逗号?非常感谢您在这方面的帮助有没有办法检查文件中所有列的相同条件,并用空格替换双引号中的逗号?非常感谢你在这方面的帮助