处理具有数字和字符串的文本文件外壳脚本

米格尔·A·阿瓜约·奥尔图尼奥

我有这种形式的文件:

2ThroughputRule.js:128 bw   3545891 3545891 3545891
ThroughputRule.js:128 bw    124776  1835334 1151111
ThroughputRule.js:128 bw    1959606 1876758 2435492
ThroughputRule.js:128 bw    3213333 1765905 2979981
2ThroughputRule.js:128 bw   1985927 2386289 2284143

我想要一种处理文件的方法,以便外壳程序脚本可以读取每行的第一个字符,如果找到一个数字,则从该数字旁边复制该行的次数,直到下面的EOL。

例如我有

2ThroughputRule.js:128 bw 3545891 3545891 3545891

结果是

2ThroughputRule.js:128 bw 3545891 3545891 3545891

ThroughputRule.js:128 bw 3545891 3545891 3545891

如果我有

4ThroughputRule.js:128 bw 3545891 3545891 3545891

ThroughputRule.js:128 bw 3545891 3545891 3545891

ThroughputRule.js:128 bw 3545891 3545891 3545891

ThroughputRule.js:128 bw 3545891 3545891 3545891

有可能这样做吗?

合金

您可以尝试此程序。将其另存为pr.awk然后跑awk -f pr.awk test.txt

function force_num(x) {return x+0}

match($0, "^[0-9]+") {
    n   = substr($0, RSTART, RLENGTH)
    n   = force_num(n)

    rst = substr($0, RSTART + RLENGTH)
    for (i=1; i<=n; i++)
        print rst

    next
}

{
    print
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用外壳脚本处理文本文件并创建命令

如何为具有共同字符串的多个文本文件运行脚本?

在出现特定字符串之前插入文本文件中所有行的批处理脚本

从文本文件外壳脚本中删除“空”行

处理带有外语字符的文本文件或字符串变量

如何使用Shell脚本和sed删除文本文件中的字符串后缀?

BASH-如何删除文本文件中的所有数字,除非它们是特定字符串的一部分?

从文本文件读取和写入字符串

逐行阅读文本文件并检查该行是否具有特定字符串

Vaadin 8-具有字符串内容的文本文件的下载按钮

分割具有多个分割字符串的文本文件

在文本文件中搜索具有今天日期的字符串

在具有特定條件 Python 的文本文件中添加新字符串

Delphi ListBox到具有特定字符串的文本文件

批处理脚本可在文本文件中打印搜索字符串的上一行和下一行

比较一个文件中的数字并在外壳脚本中的字符串中包含数字时将其匹配到文件中

带外壳脚本的字符串长度

如何从混合字符串数字文本文件中导入数字列

从包含字符串和数字混合的文本文件中读取双数字

如何删除文本文件中不是大于特定值的数字的所有行?(包括字符串)

如何使用findstr或grep命令在文本文件中查找具有指定长度的字符串?

将二进制字符串打印到具有特定行长的文本文件

将字符串与文本文件进行比较的文件处理

在文本文件上查找字符串-批处理文件

使用 Windows 批处理文件删除/替换文本文件字符串

如何读入字符串数据并计算文本文件中数字的总和

在文本文件的字符串中递增零填充数字

计算文本文件中每个字符串之后包含数字的行数

如何将文本文件中的“ Inf”字符串转换为数字