可能重复:
bash变量中给出的bash回显文件行数
想知道如何将文本文件中的行数输出到屏幕,然后将其存储在变量中.我有一个名为stats.txt的文件,当我运行wc -l stats.txt它时输出8 stats.txt
我试过x = wc -l stats.txt认为它只存储数字,其余只是为了视觉,但它不起作用:(
谢谢您的帮助
Jan*_*lho 17
执行此操作有两种POSIX标准语法:
x=`cat stats.txt | wc -l`
Run Code Online (Sandbox Code Playgroud)
要么
x=$(cat stats.txt | wc -l)
Run Code Online (Sandbox Code Playgroud)
它们都运行程序并使用命令的标准输出替换脚本中的调用,在这种情况下将其分配给$x变量.但是,要注意两个修剪结束换行符(这实际上是你想要的,但是当你期望换行时有时会很危险).
此外,第二种情况可以很容易地嵌套(例如:) $(cat $(ls | head -n 1) | wc -l).您也可以使用第一种情况,但它更复杂:
`cat \`ls | head -n 1\` | wc -l`
Run Code Online (Sandbox Code Playgroud)
还有报价问题.您可以在双引号中包含这些表达式,但是使用反向标记,您必须继续在命令内引用,而使用括号允许您"启动新引用"组:
"`echo \"My string\"`"
"$(echo "My string")"
Run Code Online (Sandbox Code Playgroud)
希望这有助于=)
你可以尝试:
x=`cat stats.txt | wc -l`
Run Code Online (Sandbox Code Playgroud)
或(来自 another.anon.coward 的评论):
x=`wc -l < stats.txt`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31263 次 |
| 最近记录: |