使用 bash 读取文件内容并将内容的特定部分放在单独的文件中

吉特什·索吉特拉

我想从单个文件中获取特定文件,并通过 bash 放入单独的文件中。我曾尝试使用以下代码获取包含 test1 文件并能够获取它,但是在获取受尊重文件中的所有内容时我失败了。

试过的代码:

reportFile=/report.txt
test1File=/test1.txt
test2File=/test2.txt
test3File=/test3.txt

totalLineNo=`cat ${reportFile} | wc -l`
test1LineNo=`grep -n "Test1 file content :" ${reportFile} | grep -Eo '^[^:]+'`
test2LineNo=`grep -n "Test2 file content :" ${reportFile} | grep -Eo '^[^:]+'`
test3LineNo=`grep -n "Test3 file content :" ${reportFile} | grep -Eo '^[^:]+'`

exactTest1LineNo=`echo $(( ${test1LineNo} - 1 ))`
exactTest2LineNo=`echo $(( ${test2LineNo} -1 ))`
exactTest3LineNo=`echo $(( ${test3LineNo} -1 ))`

test1Content=`cat ${reportFile} | head -n ${exactTest1LineNo}`
test3Content=`cat ${reportFile} | tail -n ${exactTest3LineNo}`

echo -e "${test1Content}\r" >> ${test1File}
echo -e "${test3Content}\r" >> ${test3File}

报告.txt:

-------------------------------------

My Report:

Test1 file content:
1
2
3
4
5
6

Test2 file content:
7
8
9
10

Test3 file content:
11
12
13
14
15

Note: Find my report above.

-------------------------------------

test1.txt(预期):

1
2
3
4
5
6

test2.txt(预期):

7
8
9
10

test3.txt(预期):

11
12
13
14
15
罗曼·佩雷克雷斯特

使用单个awk命令:

awk '/^Test[0-9] file content:/{ f=1; fn=tolower($1)".txt"; next }
     f && NF{ print > fn }!NF{ f=0 }' report.txt 

查看结果:

$ head test[0-9].txt
==> test1.txt <==
1
2
3
4
5
6

==> test2.txt <==
7
8
9
10

==> test3.txt <==
11
12
13
14
15

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用bash替换文件中的内容

来自分类Dev

使用bash读取文件时缺少行内容

来自分类Dev

使用bash读取文件时缺少行内容

来自分类Dev

使用bash脚本提取文件内容

来自分类Dev

使用Makefile bash保存python文件的内容

来自分类Dev

使用Bash将文件内容提取到数组中

来自分类Dev

检查行是否以数字开头,然后使用 Bash 将这些行放在单独的文件中

来自分类Dev

我有一个文件列表,如何使用bash打开每个文件的内容并将其复制到一个新文件中?

来自分类Dev

无法使用熊猫从特定的.CSV文件中读取内容

来自分类Dev

使用BASH用另一个文件替换特定行号之间的文件内容

来自分类Dev

读取远程文件,并通过Linux bash使用远程计算机本身上的内容

来自分类Dev

使用bash脚本从文件中读取元素

来自分类Dev

Bash - 如何使用另一个文件中存在的模式获取文件内容的行号?

来自分类Dev

如何使用bash脚本将一个文件内容粘贴到不同的文件中?

来自分类Dev

如何使用bash脚本安全删除文件夹的内容?

来自分类Dev

使用bash正则表达式验证文件内容

来自分类Dev

使用 bash 连接两个文件的内容

来自分类Dev

使用bash命令打印文件的特定部分的最快方法

来自分类Dev

读取文件并将行放入单独的文件中,因为bash中指定列的值相同

来自分类Dev

Bash脚本和大文件(错误):使用重定向内置的读取内容输入会产生意外结果

来自分类Dev

将.txt文件的特定内容分配到bash变量中

来自分类Dev

使用变量作为行号从bash脚本中的文件读取特定行

来自分类Dev

使用bash检测文件

来自分类Dev

使用 bash 关闭文件

来自分类Dev

如何使用awk从文件中读取矩阵并将其分配给bash脚本中声明的二维数组

来自分类Dev

使用bash脚本将XML文件的内容添加到另一个文件中

来自分类Dev

Bash逐行读取文件并使用awk

来自分类Dev

使用for loop bash脚本逐行读取文件

来自分类Dev

如何使用bash读取yaml或env文件

Related 相关文章

  1. 1

    使用bash替换文件中的内容

  2. 2

    使用bash读取文件时缺少行内容

  3. 3

    使用bash读取文件时缺少行内容

  4. 4

    使用bash脚本提取文件内容

  5. 5

    使用Makefile bash保存python文件的内容

  6. 6

    使用Bash将文件内容提取到数组中

  7. 7

    检查行是否以数字开头,然后使用 Bash 将这些行放在单独的文件中

  8. 8

    我有一个文件列表,如何使用bash打开每个文件的内容并将其复制到一个新文件中?

  9. 9

    无法使用熊猫从特定的.CSV文件中读取内容

  10. 10

    使用BASH用另一个文件替换特定行号之间的文件内容

  11. 11

    读取远程文件,并通过Linux bash使用远程计算机本身上的内容

  12. 12

    使用bash脚本从文件中读取元素

  13. 13

    Bash - 如何使用另一个文件中存在的模式获取文件内容的行号?

  14. 14

    如何使用bash脚本将一个文件内容粘贴到不同的文件中?

  15. 15

    如何使用bash脚本安全删除文件夹的内容?

  16. 16

    使用bash正则表达式验证文件内容

  17. 17

    使用 bash 连接两个文件的内容

  18. 18

    使用bash命令打印文件的特定部分的最快方法

  19. 19

    读取文件并将行放入单独的文件中,因为bash中指定列的值相同

  20. 20

    Bash脚本和大文件(错误):使用重定向内置的读取内容输入会产生意外结果

  21. 21

    将.txt文件的特定内容分配到bash变量中

  22. 22

    使用变量作为行号从bash脚本中的文件读取特定行

  23. 23

    使用bash检测文件

  24. 24

    使用 bash 关闭文件

  25. 25

    如何使用awk从文件中读取矩阵并将其分配给bash脚本中声明的二维数组

  26. 26

    使用bash脚本将XML文件的内容添加到另一个文件中

  27. 27

    Bash逐行读取文件并使用awk

  28. 28

    使用for loop bash脚本逐行读取文件

  29. 29

    如何使用bash读取yaml或env文件

热门标签

归档