Awk 如何删除“&引用;仅在文件名中,但不在整个文件中??

Awk 如何删除“&引用;仅在文件名中,但不在整个文件中??,awk,gsub,Awk,Gsub,下面是我的awk代码,用于对输入文件进行排序和拆分,并将其重命名为新的输出文件。但我有一个问题,因为我不想在文件名中保留“”,但我的输出文件名是基于输入文件的前四列创建的。文件=路径“$1”$2“$3”$4”_03042017.csv”。我一直在尝试使用gsub删除“”但它也会删除文件中的“”,这些文件不是我想要的结果。我只想删除文件名中的“”。有人能帮我吗?非常感谢 awk -F"|" 'BEGIN { OFS = "|" } NR==1 { for( i=1;i<5;i++) $i

下面是我的awk代码,用于对输入文件进行排序和拆分,并将其重命名为新的输出文件。但我有一个问题,因为我不想在文件名中保留“”,但我的输出文件名是基于输入文件的前四列创建的。文件=路径“$1”$2“$3”$4”_03042017.csv”。我一直在尝试使用gsub删除“”但它也会删除文件中的“”,这些文件不是我想要的结果。我只想删除文件名中的“”。有人能帮我吗?非常感谢

awk -F"|" 'BEGIN { OFS = "|" } NR==1 {
  for( i=1;i<5;i++) $i = ""
  h = substr($0, index($0,$5)); sub(/^[[:blank:]]+/,"", h)
  next
  } 

  {
  file= path ""$1""$2"_"$3"_"$4"_03042017.csv"

  # remove 4 first field
  for( i=1;i<5;i++) $i = ""
  # cleaning starting space
  Cleaned = substr($0, index($0,$5)); sub( /^[[:blank:]]+/, "", Cleaned)

  print ( a[file]++ ? "" : "DM9 03042017" ORS h ORS ) Cleaned > file
  }

END {
  for(file in a) print "EOF " a[file] > file
  } ' file1
awk-F“|”'BEGIN{OFS=“|”}NR==1{
对于(i=1;i文件
}'文件1
您在哪里定义了“路径”?您的问题包括简洁、可测试的样本输入和预期输出。