linux获得包含空白字符的行,Shell如何遍历包含空格的文本详解

本文详细介绍了在Linux Shell中如何遍历包含空格的文本文件,包括使用for循环时遇到的问题及解决方法,如修改IFS环境变量以正确处理空格。通过示例代码展示了如何设置IFS为换行符,确保正确遍历每行内容。
摘要由CSDN通过智能技术生成

shell遍历文件

有时候要对某个文件夹下面的所有文件做同样的处理,比如对每个文件统计行数,这时用遍历文件的方式就很简单了。

$ for i in `ls`;do wc -l $i;done

55552 f123.txt

55819 f124.txt

56118 f125.txt

56404 f126.txt

56633 f127.txt

56842 f128.txt

这里使用了for...do...done循环,注意循环语句写在一行上面时,要用 ; 分隔开来。

ls要用反引号扩起来。

Shell遍历空格文本

处理包含空格或特殊字符的文件是每个使用Linux的人都应必须掌握的。本文我们将讨论如何在带有空格的文件上使用for循环。

测试文本如下:

This line has spaces

these

do

not

现在,我们使用for循环来迭代这个文本。当我们执行for循环时,shell会看到第一行的空格,并假设每一行都是不同的迭代。

[root@test ~]# for i in $(cat test);do echo $i;done

This

line

has

spaces

these

do

not

IFS定义了在分隔单词时用作分隔的字符或字符集。

维基百科:对于Unix操作系统的许多命令行解释器(“shell”),内部字段分隔符(简称IFS)是指一个变量,该变量定义用于将模式拆分为某些操作的标记的字符。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值