linux - 使用 bash 时忽略正则表达式

标签 linux bash unix command

我正在尝试使用这个命令:

for i in $(cat file); do echo "$whatever_text.$i">$i; done

这是为了让每一行都成为一个新文件,我在这里直奔主题!

我想让 bash 忽略诸如“$”之类的表达式,因为例如如果我有这样一行:

$a = 'string';

或者像这样的多行,它不会那样打印,bash 只留下'string'。

最佳答案

迭代文本文件的 的正确方法是使用 while 循环中的 read 命令。

while IFS= read -r i; do
    echo "$whatever_text.$i" > "$i"
done < file

参见 Bash FAQ 001了解更多详情。

关于linux - 使用 bash 时忽略正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53010620/

相关文章:

Unix 'Cat' Windows cmd 中的等效命令

bash - 如何使用 grep 在当前目录中搜索具有给定字符串的所有文件,然后将这些文件移动到新文件夹中?

linux - Jmeter cmdrunner 观察到垃圾字符

arrays - 将命令输出读入Bash中的数组

linux - 如何在 shell 脚本中存储命令返回的值?

git - 从 bash 脚本退出 git log

linux - 将一个文件的所有内容分别加载到各个文件中

java - 将外部中断生成的数据从 C++ 程序传输到 Linux 中的 Java

Linux 上的 Java : Measuring elapsed time using System. nanotime() 用于阻塞线程

linux - 如何从不同的起点向 csv 文件的多行添加特定值?