Bash Shell Scripting逐行读取文件

时间:2015-11-03 21:48:03

标签: linux bash shell unix

我有一份作业,我需要帮助!! 赋值是:"编写一个脚本,将文件名作为单个命令行参数。它应该验证文件是文件(不是目录或符号链接等)并且它是可读的。然后它应该采用传递的文件并计算每行的行数和单词数。它应该回显总行数和单词数。它还应该识别空行并计算它们。

截至目前,我有:

enter code here
#!/bin/bash
exec 10<&0 
exec<$1
file="example1.txt"
let count=0
while read LINE
do 
      ((count++))
      echo $LINE > $file 
done 
echo "Number of lines: $count"
echo "The last line of the file is: `cat ${file}`" 
exec 0<&10 10<&-

1 个答案:

答案 0 :(得分:1)

在bash提示符下,执行help test - 这应该告诉您如何确定文件是目录还是符号链接。

您希望循环显示给脚本的参数:使用for循环,参数为"$@"

您希望将文件重定向到while循环,以便您可以遍历这些行:while read ...; done < filename

help read了解如何将单词读入数组,以便对其进行计数。

使用exec重定向文件描述符是一种非常先进的技术,我不建议这种情况。