linux - 将数字添加到 bash 中某些行的开头

标签 linux bash shell sh

我有一个包含一些数字的文件

例如

$cat file
347678126
345258126
4378126
349878126
346123126
9678130
344838126
5678126

如果该行不是以 34 开头,我需要将数字 34 添加到一行,如果该行以 34 开头,则不添加任何内容

输出:

$cat file
347678126
345258126
344378126
349878126
346123126
349678130
344838126
345678126

我打算用 awk:

cat file | awk '{print 34$1}' > file2

但是它向所有行添加 34。

你能帮帮我吗?

最佳答案

sed 可以方便地就地编辑文件

sed -i '/^34/!s/^/34/' file

关于linux - 将数字添加到 bash 中某些行的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751592/

相关文章:

linux - 如何在不打开Linux的情况下找到所有串行设备(ttyS,ttyUSB等)?

linux - Linux 上 Matlab 中的 24 位声音捕获

linux - session 屏幕 - 如何获取 session 列表

linux - 在分隔符处拆分字符串并对最后一个字段求​​和

将命令通过管道传递到 shell 后,C 无限循环

bash - .bashrc 文件正在循环执行 "script"命令

c++ - 在 Linux 上使用 C++ 将终端附加到创建的线程

bash - 如何在 xargs 命令中使用 >?

bash - 将命令输出捕获到局部变量中并检查错误

linux - 如何使用shell脚本将文件从windows复制到linux?