bash - 如何在bash中使用cat小写大文件?

标签 bash cat tr

我使用以下命令将文本文件中的所有字符小写。

CORPUSLOWER=$(cat foobar.txt | tr '[:upper:]' '[:lower:]')
echo $CORPUSLOWER > foobar.txt

然而,问题是 foobar.txt 大约有 20g 大,它只替换了 foobar.txt 文件的一小部分。

我的问题:如何使用 bash 将大文件转换为小写?

最佳答案

应该可以实现

tr '[:upper:]' '[:lower:]' < foobar.txt | dd of=foobar.txt conv=notrunc

或者(这可能更干净),使用临时文件

关于bash - 如何在bash中使用cat小写大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53484762/

相关文章:

linux - 在 Linux 上使用 cat 连接有序文件

linux - shell 脚本 : Using grep and tr in the shebang

linux - 使用 grep/sed/perl 在一行中提取多个项目

无法回显到 POSIX 消息队列

arrays - `${1#*=}` 在 Bash 中意味着什么?

linux - 寻找一个奇怪的特定 bash 脚本的灵感

linux - 使用 cat 命令创建一个由 2 个文件合并的文件(linux)

Bash:在变量中制作 cat merge braced files {}

linux - 临时使用awk或grep时如何将文本转换为小写并忽略空格?

linux - 使用 bash 和 awk 比较两个文件并更新第二个文件并对第二个文件进行排序