使用awk如何将文件中的单词替换为唯一值?

提姆

这是我要使用的文件:

test.txt:

apiVersion: v1
data:
  app_username: something
  app_password: {{RANDOM}}
  another_app_username: something
  another_app_password: {{RANDOM}}

我目前有这个bash脚本:

test.sh:

random(){
  printf $(openssl rand -base64 15) | openssl base64
}

export -f random

awk '{ 
  gsub(/{{RANDOM}}/, system("random"), $0); printf
}' test.txt

输出:

TVQ3K0hmZmZGMTBPYW9BT0pIbzc=
apiVersion: v1QlBXZzVFNXFUdzBXNzdwdmtWc2w=
data:eDJDcUZKU1U2d1EwaWc5cVhQYUY=
  app_username: somethingay93S3NTNStQKy9jVXFOUHBSZnY=
  app_password: 0NTBJTUpueWRuU1VZYmlWSXZwS0k=
  another_app_username: somethingdzdCWXltMytSUWRFY2RicVh5ZkI=
  another_app_password: 0%

如您所见,它正在做某事它正在删除{{RANDOM}},但没有替换它。相反,它将“随机”函数的输出放在每行的末尾。

阿努巴瓦

您可以这样使用它:

awk 'function rndm(cmd, line, r) {
   cmd = "random"
   if ( (cmd | getline line) > 0)
      r=line
   close(cmd)
   return r
}
{
   gsub(/{{RANDOM}}/, rndm())
} 1' file

apiVersion: v1
data:
  app_username: something
  app_password: blBVOFduMzRLSEtSWjlRK0czT1M=
  another_app_username: something
  another_app_password: WWtZb1dWN2tnN0NwZEo1NTB2ZHE=

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用sed或awk命令将一个单词替换为存储在变量中的另一个单词

如何使用mutate函数将唯一值替换为索引号?

如何将行唯一值转换为列

使用宏将文本文件中的单词替换为另一个单词

使用awk替换文件中的单词

如何使用awk将变量中的列值替换为变量

如何将多个单词替换为javascript中的单个单词?

使用awk将一个文件中的列替换为另一个文件中的列?

如何使用sed / awk将某一行之后的文件中的所有文本替换为另一个文本文件的内容?

如何将文件名中的“ /”替换为“ _”

如何将文件中的 Hi 替换为 Bye

如何使用awk将文件列中的子字符串替换为另一个文件中的字符串?

将文件中定义的单词替换为另一个文件中的替换单词-Java

将向量中多个值的每个实例替换为特定于唯一值的值

如何将一个文件中的行替换为另一个文件

如何使用bash将.txt文件中的列中的值替换为零

如何将特定字符串值替换为python列表中的另一个值?

如何将列表中与第一个列表中的单词匹配的单词替换为与第二个列表中的第一个单词具有相同位置的单词?

Bash:如何将唯一的无数据值列表转换为可以使用的变量?

将文本文件C ++中的特定单词替换为预定义的值

用AWK将文本文件中的值替换为一批,并从最后一个值开始递增后续值

如何将csv文件中的最后一列交换为第一列?+ awk

PostgreSQL-如何基于PSQL VIEW中的公共唯一标识符将NULL值替换为另一列中的值

在 R 中,每当替换列不为空时,如何将一列中的值替换为另一列的值?

如何将一对值转换为排序的唯一数组?

如何将 JSON 文件中的值转换为常量?

将数据从文件插入表时,如何将 NA 值替换为 NULL?

如何将单词中指定的最后一个字母匹配和替换为句子中的另一个字母

PHP:如何将文件中的一些文本从第 n 行替换为第 m 行?