regex - Bash - 如何将每一行放在引号内

标签 regex linux bash shell

我想把每一行都放在引号内,比如:

abcdefg
hijklmn
opqrst

转换为:

"abcdefg"
"hijklmn"
"opqrst"

如何在 Bash shell 脚本中执行此操作?

最佳答案

使用awk

awk '{ print "\""$0"\""}' inputfile

使用纯bash

while read FOO; do
   echo -e "\"$FOO\""
done < inputfile

其中 inputfile 将是一个包含不带引号的行的文件。

如果您的文件有空行,awk 绝对是最佳选择:

awk 'NF { print "\""$0"\""}' inputfile

NF 告诉 awk 仅当字段数大于零(行不为空)时才执行打印命令。

关于regex - Bash - 如何将每一行放在引号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991428/

相关文章:

c# - RegularExpressionAttribute 的行为不同于 Regex 或 RegexStringValidator

javascript - 正则表达式从具有多个方括号的字符串中查找匹配项

AEM 调度程序中的正则表达式表达式格式不同

c++ - 选择 PostgreSQL 的列数

c - 如何将gets()代码更改为fgets()?

c++ - 以编程方式提取 .deb 包

bash - 为 Go 编程语言设置 vim 自动完成

Linux bash 脚本文件连接

arrays - Bash,变量和数组

python - 查找列表中的通用子列表