linux - 在linux中替换文件的每一行中的字符
问题描述
我有一个文件,每行都有不同的单词。我的目标是将第一个字符替换为大写字母,并将第三个字符替换为“#”。
例如:football 将被交换为 -> Foo#ball
我尝试考虑使用 awk 和 sed。这对我没有帮助,因为(据我所知)sed 需要精确的字符输入,而 awk 可以打印所需的字符但不能更改它。
解决方案
使用 GNU sed 和两个s
命令:
echo 'football' | sed -E 's/(.)/\U\1/; s/(...)./\1#/'
输出:
足球#球
推荐阅读
- java - 仅当在 while 循环中调用函数时,将文件发送到 blob 才有效
- sql - 如何在最小和最大日期创建 GROUP BY
- powershell - 如何使用 Get-NetTCPConnection 复制“netstat -b”?
- python - 如何“分组”年,第 1 列并计算第 2 列的平均值?
- r - 使用 map() 估计多个“lm”模型并在一张表中返回输出
- r - 根据 if 语句编辑两个不同对象的适当方法是什么?
- perl - 如何在 Perl 中制作动画加载标志?
- android - 在 LinearLayout 中设置 View 的属性
- grafana - Grafana 如何处理百万点的时间序列?
- python - 在 Python 中创建条件数字特征列表