fork download
  1. #!/bin/bash
  2.  
  3. # ideone boilerplate: run in temp dir
  4. t=$(mktemp -d -t ideone.XXXXXXXX) || exit
  5. trap 'rm -rf "$t"' ERR EXIT
  6. cd "$t"
  7.  
  8. cat <<\: >file1
  9. 2001009
  10. @vanti Finserv Co.
  11. 2001009
  12. Fund #1
  13. 11:11 - capital
  14. MS&CO(NY)
  15. American Friends Org, Inc. 12X32
  16. Domain-Name (LLC)
  17. MS&CO(NY)
  18. MS&CO(NY)
  19. Ivy/Estate Rd
  20. E*Trade wholesale
  21. :
  22.  
  23. cat <<\: >file2
  24. <html>
  25. <body>
  26. <hr><br><>span class="table">Records</span><table>
  27. <tr class="column">
  28. <td>Rec1</td>
  29. <td>Rec2</td>
  30. <td>Rec3</td>
  31. <td>Rec4</td>
  32. <td>Rec5</td>
  33. <td>Rec6</td>
  34. <td>Rec7</td>
  35. <td>Rec8</td>
  36. </tr>
  37. <tr class="data">
  38. <td>@vanti Finserv Co.</td>
  39. <td>11:11 - Capital</td>
  40. <td>MS&CO(NY)</td>
  41. <td>New York</td>
  42. <td>CDX98XSD</td>
  43. <td>E*Trade wholesale</td>
  44. <td>Domain-Name (LLC)</td>
  45. <td>Ivy/Estate Rd</td>
  46. <td></td>
  47. </tr>
  48. <tr class="data">
  49. <td>@vanti Finserv Co.</td>
  50. <td></td>
  51. <td>MS&CO(NY)</td>
  52. <td>2</td>
  53. <td>2</td>
  54. <td>MS&CO(NY)</td>
  55. <td>MS&CO(NY)</td>
  56. <td>Ivy/Estate Rd</td>
  57. </table>
  58. </body>
  59. :
  60.  
  61. awk 'NR==FNR {
  62. regex = $0;
  63. gsub(/[][(){}|\\*+?.^$]/, "\\\\&", regex);
  64. a[++n] = regex;
  65. print "## a[" n "] = \047" regex "\047"
  66. gsub(/[A-Za-z0-9]/, "#");
  67. gsub(/&/, "\\\\&");
  68. b[n] = $0;
  69. next
  70. }
  71. { for(i=1;i<=n;++i)
  72. gsub(a[i], b[i])
  73. } 1' file1 file2
  74.  
Success #stdin #stdout 0.01s 5516KB
stdin
Standard input is empty
stdout
## a[1] = '2001009'
## a[2] = '@vanti Finserv Co\.'
## a[3] = '2001009'
## a[4] = 'Fund #1'
## a[5] = '11:11 - capital'
## a[6] = 'MS&CO\(NY\)'
## a[7] = 'American Friends Org, Inc\. 12X32'
## a[8] = 'Domain-Name \(LLC\)'
## a[9] = 'MS&CO\(NY\)'
## a[10] = 'MS&CO\(NY\)'
## a[11] = 'Ivy/Estate Rd'
## a[12] = 'E\*Trade wholesale'
<html>
<body>
<hr><br><>span class="table">Records</span><table>
<tr class="column">
 <td>Rec1</td>
 <td>Rec2</td>
 <td>Rec3</td>
 <td>Rec4</td>
 <td>Rec5</td>
 <td>Rec6</td>
 <td>Rec7</td>
 <td>Rec8</td>
</tr>
<tr class="data">
<td>@##### ####### ##.</td>
<td>11:11 - Capital</td>
<td>##&##(##)</td>
<td>New York</td>
<td>CDX98XSD</td>
<td>#*##### #########</td>
<td>######-#### (###)</td>
<td>###/###### ##</td>
<td></td>
</tr>
<tr class="data">
<td>@##### ####### ##.</td>
<td></td>
<td>##&##(##)</td>
<td>2</td>
<td>2</td>
<td>##&##(##)</td>
<td>##&##(##)</td>
<td>###/###### ##</td>
</table>
</body>