我想做一个行数并将该数字放入一个 shell 脚本中的变量中。例如。
wc -l filename.dat
Run Code Online (Sandbox Code Playgroud)
让221 filename.dat
我想 grep '221' 到一个变量中,我可以稍后使用。这可以在单个语句中完成吗?我不想将 的输出复制wc -l到另一个文件然后 grep。
您可以将文件名传递给 STDINwc以仅获取行数:
wc -l <filename.dat
Run Code Online (Sandbox Code Playgroud)
将其保存为变量:
var="$(wc -l <filename.dat)"
Run Code Online (Sandbox Code Playgroud)
例子 :
$ wc -l foo.txt
12 foo.txt
$ wc -l <foo.txt
12
$ var="$(wc -l <foo.txt)"
$ echo "$var"
12
Run Code Online (Sandbox Code Playgroud)
请注意,正如Stéphane Chazelas 指出的那样,某些wc变体可能会在行数前后添加空格以获得所需的对齐方式。