通过KornShell(ksh)以“#”开头的文本文件中的跳过行

时间:2012-04-10 12:05:02

标签: shell unix scripting ksh

我正在尝试编写一个脚本,该脚本读取文本文件并将每行保存到字符串中。我还希望脚本跳过任何以哈希符号开头的行。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您不应该将跳过行留给ksh。例如。这样做:

grep -v '^#' INPUTFILE | while IFS="" read line ; do echo $line ; done

而不是echo部分做你想做的事。

如果ksh不支持此语法:

grep -v '^#' INPUTFILE > tmpfile
while IFS="" read line ; do echo $line ; done < tmpfile
rm tmpfile

答案 1 :(得分:2)

while read -r line; do
    [[ "$line" = *( )#* ]] && continue
    # do something with "$line"
done < filename

在ksh手册页中查找“文件名模式”或“文件名生成”。