Shell按行读取文件
这工作小半年了发现以前学的那么多流弊技能都不怎么用,倒是shell用的很多,自己已经从shell小菜鸟一步步走过来,已经要变成大菜鸟
=。=
经常需要用shell按行读取配置文件,自己在上面踩了很多坑,可依然没长记性,故记录下来。先创建一个测试用例toy.txt
;
[VasiliShi@ZXXS workplace]$ cat toy.txt this is 1 this is 2 this is 3
使用while读取
使用while读取文件时候需要配合read,利用read读取文件时,每次调用read命令都会读取文件中的"一行"文本。
当文件没有可读的行时,read命令将以非零状态退出.
echo "=====this is method one=====" cat toy.txt | while read line do echo $line done
输出:
=====this is method one===== this is 1 this is 2 this is 3
使用for读取
使用for读取时,自动按空格(包括:空格,制表符),作为间隔符。
如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.
echo "=====this is method two=====" for line in `cat toy.txt` do echo $line done
输出:
=====this is method two===== this is 1 this is 2 this is 3
正如上面所说,输出结果都被空格拆散开了,那么该如何解决呢?可以设置IFS=$'\n'
作为分隔符
相关推荐
tianhuak 2020-11-24
huha 2020-10-16
lianshaohua 2020-09-23
laisean 2020-11-11
zhangjie 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
CARBON 2020-10-20
彼岸随笔 2020-10-20
lianshaohua 2020-10-20
yutou0 2020-10-17
JohnYork 2020-10-16
xiaonamylove 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
ourtimes 2020-10-16