Linux 在Shell脚本中将文件中的字母更改为大写
我正在尝试将文件中特定的给定字母改为大写,但我不知道如何做。该文件已存在,我想执行以下操作Linux 在Shell脚本中将文件中的字母更改为大写,linux,shell,ubuntu-20.04,Linux,Shell,Ubuntu 20.04,我正在尝试将文件中特定的给定字母改为大写,但我不知道如何做。该文件已存在,我想执行以下操作 cat merry.txt I wish you a Merry Christmas 将e更改为e,以便输出 cat merry.txt I wish you a MErry Christmas 谢谢大家像这样: sed 's/e/\Ue/' Input_File 要永久编辑,请添加-i开关: sed -i ... 试试这个: sed 's/e/E/' merry.txt 如果文本在一行中包
cat merry.txt
I wish you a Merry Christmas
将e更改为e,以便输出
cat merry.txt
I wish you a MErry Christmas
谢谢大家像这样:
sed 's/e/\Ue/' Input_File
要永久编辑,请添加-i
开关:
sed -i ...
试试这个:
sed 's/e/E/' merry.txt
如果文本在一行中包含多个“e”,则前面的sed将
通过添加全局选项,仅将每行的第一个匹配项更改为“E”
g
到s命令的末尾,您可以确保一行中多次出现的字符串将被更改
尝试使用以下方法:
sed 's/e/E/g' merry.txt
此命令将所有e
转换为e
或者可以使用:
sed -i 's/e/E/g' merry.txt
您可以使用
tr
将一个字符“翻译”为另一个字符:
tr'e'e'newfile&&mv newfile文件
您还可以使用awk
(此处使用动态方法):
find='e'
替换class='E'
awk-v f=“$find”-v r=“$replace”{gsub(f,r)}1'文件>新文件(&mv)新文件
使用GNUsed
,您可以使用
sed -i 'y/e/E/' file
在所有这些情况下,您可以在文件中的所有位置将e
替换为e
,并将更新文件的内容保存在同一文件名下
见a:
#/bin/bash
我祝他们圣诞快乐
找到
替换class='E'
tr“$find”“$replace”这应该可以做到:非常感谢。您知道它是否适用于传递给myshell的第一个命令行参数,例如,我创建了一个名为upper的脚本并执行它。/upper当然,为什么不呢?在此表示感谢的方法是接受答案/投票答案。感谢您的帮助抱歉,我正在尝试使用(./upper e)sed的/$1/\U($1)/g'filename.txt,但它与几分钟前有人遇到的问题不完全一样,请参阅引用问题