编写不同的文本处理和文本操作脚本的时候,需要对文件中的字符,单词,行进行迭代

将一个简单的循环用于迭代,加上stdin的重定向,就是对文件中的行,单词或者字符进行迭代的基本方式

我们对行,单词,字符进行迭代

迭代文件中的每一行,

我们可以使用一个while循环从标准输入中读取,每一次迭代会读取一行

while read line

do

echo $line

done < file.txt

子shell也可以做到

cat file.txt |

(while read line; do echo $line; done )

命令中的cat file.txt 可以使用任何命令序列的输出来替换

迭代每一行中的单词

for word in $line;

do

echo $word;

done

迭代一个单词中的每一个字符

我们再一次使用一个for循环对变量i进行迭代

迭代的范围从0到字符串的长度,每次迭代中,可以用

${char:下标:提取长度}

for((i=0;i

do

echo ${word:i:1};

done

我们从文件中读取行或者从行中读取单词,就是直观的技巧,不过,从单词中读取字符就需要一些技巧了

${word:start_position:no_of_characters} 返回变量word所包含的字符串的一个子串

${#word} 返回变量word的长度

发表评论

邮箱地址不会被公开。 必填项已用*标注