Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 有人能解释一下下面的代码和下面的查询吗_Linux_Unix_Awk - Fatal编程技术网

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

这个问题实际上应该是两个不同的问题。这个问题实际上应该是两个不同的问题。是否有方法检查文件所有列的相同条件,并用空格替换双引号中的逗号?非常感谢您在这方面的帮助有没有办法检查文件中所有列的相同条件,并用空格替换双引号中的逗号?非常感谢你在这方面的帮助