如何在 wc -l 输出周围创建相同的 if else 语句
how to create same line if else statement around wc -l output
我对 tcsh 一点都不熟悉,所以真的希望有人能提供一些我在这里缺少的知识。我正在尝试构建一个单行 if else 语句来检查文件中的行数,并在行数 > 1 时输出触摸文件。我正在检查行是否大于 1,因为文件可以是仅使用 header 信息生成。 (另外,如果有人有任何有用的在线指南,我可以将其用于 tcsh 的所有方面,那也会非常有帮助)
示例文件1(有数据):
标题 1,标题 2
数据 1、数据 2
示例文件 2(空):
标题 1,标题 2
预期输出:
如果文件有数据,生成一个has_data.txt,否则不生成文件
我试过的:
wc -l dummy_file_empty.txt >1 && touch has_data.txt - 并没有真正评估大于
update ``用于行内求值语句,$output是数组?所以需要引用索引 1 来获取行数
设置输出=`wc -l dummy_file_empty.txt` | if($output[1] >1) touch has_data.txt - returns 表达式语法错误
if ( wc -l dummy_file_empty.txt ) > 10 touch has_data.txt - returns 表达式语法错误
如果 bash 中存在解决方案,我可以调用 bash shell as-well(参见示例,其中 bash 在语句末尾通过管道传输 | bash 并测试它以确保它在我的机器上工作)
[[ $(cat file.txt | wc -l) -gt 1 ]] && touch has_data.txt
当您使用 >
时,这将尝试写入文件。在本例中,文件名为 1
或 10
。您想使用 -gt
代表大于。
如果您在 tcsh
终端中 运行,那么您可以通过 bash:
调用它
bash -c '[[ $(cat file.txt | wc -l) -gt 1 ]] && touch has_data.txt'
只是想在我已经接近的地方添加一个解决方案..尽管我真的无法处理文件可能不存在的情况。希望有人能指导这是否是一个好方法。
set output=`wc -l file.txt` && if ( $output[1] > 1 ) touch has_data.txt
我对 tcsh 一点都不熟悉,所以真的希望有人能提供一些我在这里缺少的知识。我正在尝试构建一个单行 if else 语句来检查文件中的行数,并在行数 > 1 时输出触摸文件。我正在检查行是否大于 1,因为文件可以是仅使用 header 信息生成。 (另外,如果有人有任何有用的在线指南,我可以将其用于 tcsh 的所有方面,那也会非常有帮助)
示例文件1(有数据):
标题 1,标题 2 数据 1、数据 2
示例文件 2(空):
标题 1,标题 2
预期输出:
如果文件有数据,生成一个has_data.txt,否则不生成文件
我试过的:
wc -l dummy_file_empty.txt >1 && touch has_data.txt - 并没有真正评估大于
update ``用于行内求值语句,$output是数组?所以需要引用索引 1 来获取行数
设置输出=`wc -l dummy_file_empty.txt` | if($output[1] >1) touch has_data.txt - returns 表达式语法错误
if ( wc -l dummy_file_empty.txt ) > 10 touch has_data.txt - returns 表达式语法错误
如果 bash 中存在解决方案,我可以调用 bash shell as-well(参见示例,其中 bash 在语句末尾通过管道传输 | bash 并测试它以确保它在我的机器上工作)
[[ $(cat file.txt | wc -l) -gt 1 ]] && touch has_data.txt
当您使用 >
时,这将尝试写入文件。在本例中,文件名为 1
或 10
。您想使用 -gt
代表大于。
如果您在 tcsh
终端中 运行,那么您可以通过 bash:
bash -c '[[ $(cat file.txt | wc -l) -gt 1 ]] && touch has_data.txt'
只是想在我已经接近的地方添加一个解决方案..尽管我真的无法处理文件可能不存在的情况。希望有人能指导这是否是一个好方法。
set output=`wc -l file.txt` && if ( $output[1] > 1 ) touch has_data.txt