Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 从ksh读取文本文件时跳过行_Shell_Unix_Scripting_Ksh - Fatal编程技术网

Shell 从ksh读取文本文件时跳过行

Shell 从ksh读取文本文件时跳过行,shell,unix,scripting,ksh,Shell,Unix,Scripting,Ksh,我有一个文本文件,里面有一些名字,一行一行的。 我正在通过KornShell(ksh)读取此文件,获取这些名称并在循环中执行一些操作。 为了便于阅读,我想在文本文件中添加一些注释(即,以#开头的行是注释,无需阅读)。 所以,我想读的是那些不是以#符号开头的行 在ksh,我读到如下内容: while read base do --- --- done<file 读取基时 做 --- --- 完成如何(编辑以包含完整的代码片段): 读取基时 做 #跳过评论 [-z“`echo$base |

我有一个文本文件,里面有一些名字,一行一行的。 我正在通过KornShell(ksh)读取此文件,获取这些名称并在循环中执行一些操作。 为了便于阅读,我想在文本文件中添加一些注释(即,以#开头的行是注释,无需阅读)。 所以,我想读的是那些不是以#符号开头的行

在ksh,我读到如下内容:

while read base
do
---
---
done<file
读取基时
做
---
---
完成如何(编辑以包含完整的代码片段):

读取基时
做
#跳过评论
[-z“`echo$base | grep'^#'`”]|继续
#在这里处理剩余的行

完成您可以这样做,例如(read.sh):

#/bin/ksh
读行时
做
[[$line=\\\*]&继续(&C)
回音$线
完成
在何处包含此条件。你能给我硼化物吗?那部分能做什么。。?我想在未启动的线路上执行操作。。在bitcontinue中可以进行扩展就像在任何其他语言中使用continue一样,它将“跳到循环的末尾”,实际上是读取下一行。因此,在我使用echo$line的地方,您可以执行您的操作,因为在这一点上,您知道$line不是以#开头的,双括号只是一个模式匹配的测试操作符(它匹配以哈希开头的所有内容,哈希必须转义,否则它将被解释为脚本中的注释):或在读取行时等效地
grep-v'^#'read.sh |;做回显“$line”;完成
while read base
do
    # skip comments
    [ -z "`echo $base | grep '^#'`" ] || continue
    # handle remaining lines here
done<file
#!/bin/ksh

while read line
do
    [[ $line = \#* ]] && continue

    echo $line
done < read.sh