File_A

Name: John Smith
Grade: 8
Institute: Baldwin
Number of entries: 125
State: Texas

File_B

Name: David Buck
Grade: 9
Institute: High Prime
Number of entries: 123
State: California

有许多这样的类似文件,其中条目的数量(出现在所有文件中的行号为4)必须加倍.

对于文件A,它应该是250,对于文件B,它应该是246.

如何对Linux中的所有文件执行此操作?(使用sed或awk或任何其他命令)

Tried commands:

sed -i '4s/$2/$2*2/g' *.txt               (nothing happening from this)
awk "FNR==4 {sub($2,$2*2)}" *.txt         (getting syntax error)

推荐答案

谢谢你所有的回答. 在你的帮助下,我能够通过理解和组合你的答案来找到简单的解决方案.

这就是它(在我的环境中很管用):

To display on terminal:. awk 'FNR==4 {sub($4,$4*2)} 1' File_A.

To move to some file:. awk 'FNR==4 {sub($4,$4*2)} 1' File_A > temp_A.

To perform changes inside file using inplace:. awk -i inplace 'FNR==4 {sub($4,$4*2)} 1' *.txt.

100 being 4th parameter in the line; 101 being the line number 4; 102 at the end helps in printing everything

Linux相关问答推荐

为什么仅使用&i-i标志时仍会从容器进程中输出

如何检测文件系统是否支持权限?

如何在REPL控制台中使用PowerShell将特定的CSV列转换为TitleCase?

无法在嵌入式 Linux 中使用 libjpeg 以 RGB888 在 LCD(黑色)上显示 JPEG

Bash shift 改变了关联数组的期望值

如何让 Flutter 用鼠标拖动而不是滚轮滚动? (Linux)

如果 bash 中已经存在文件名,则创建新文件但添加数字

如何安装脚本以从命令行的任何位置运行?

使用 gdb 将地址转换为行

Linux 非阻塞 fifo(按需日志(log)记录)

在 Linux/POSIX 系统上获取用户全名的最简单方法是什么?

Linux命令删除.git文件夹以外的所有文件?

为什么可执行文件操作系统依赖于?

如何从命令行打开 Ubuntu Linux 上的 AVD 管理器?

用于 ssh 的类似 teamviewer 的工具?

从核心转储中获取堆栈跟踪

Linux 上真的没有异步块 I/O 吗?

linux中netstat和ss的区别?

如何将初始输入通过管道传输到随后将是交互式的进程中?

如何编写 Mono 守护程序