当前位置:   article > 正文

Shell技能树---字符串读取文件每一行

Shell技能树---字符串读取文件每一行

1. while +  read

1.1 使用 input redirection 将文件内容重定向给 while 循环 

  1. renhl@verygood:~/usb$ cat 1.txt
  2. A 1 A1
  3. B 2 B2
  4. C 3 C3
  5. renhl@verygood:~/usb$ filename="1.txt"; while read -r line ; do echo "@ $line"; done < $filename # < 将文件内容重定向到标准输入;while + read 从标准输入每次读取一行
  6. @ A 1 A1
  7. @ B 2 B2
  8. @ C 3 C3
  9. renhl@verygood:~/usb$

1.2 使用 cat 命令结合 while 循环进行逐行处理

  1. renhl@verygood:~/usb$ cat 1.txt
  2. A 1 A1
  3. B 2 B2
  4. C 3 C3
  5. renhl@verygood:~/usb$ filename="1.txt"; cat $filename | while read line ; do echo "@ $line"; done # cat 将文件输出到标准输出; 管道将输出重定向到下一个命令的输入;while + read 每次读取一行
  6. @ A 1 A1
  7. @ B 2 B2
  8. @ C 3 C3
  9. renhl@verygood:~/usb$

2. awk 

 使用 awk 命令读取文件内容并逐行处理

  1. renhl@verygood:~/usb$ cat $filename
  2. A 1 A1
  3. B 2 B2
  4. C 3 C3
  5. renhl@verygood:~/usb$ filename="1.txt"; awk '{print "@ ",$0}' $filename #使用awk命令读每一行, $0 读取的每一行的内容
  6. @ A 1 A1
  7. @ B 2 B2
  8. @ C 3 C3
  9. renhl@verygood:~/usb$

3. sed

使用 sed 命令逐行获取文件内容

  1. renhl@verygood:~/usb$ filename="1.txt"; sed -n '1,$p' $filename # sed输出文件1到$最后行的内容
  2. A 1 A1
  3. B 2 B2
  4. C 3 C3
  5. renhl@verygood:~/usb$

4. grep

使用 grep 命令逐行查找文件内容

  1. renhl@verygood:~/usb$ filename="1.txt"; grep "" $filename
  2. A 1 A1
  3. B 2 B2
  4. C 3 C3
  5. renhl@verygood:~/usb$

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/535274
推荐阅读
相关标签
  

闽ICP备14008679号