Shell

行(記錄)在 dat 文件上的一個命令中一起計數和 grep

  • September 15, 2016

我想做一個行數並將數字放入 shell 腳本中的變數中。例如。

wc -l filename.dat

221 filename.dat 我想 grep ‘221’ 到一個變數,我可以稍後使用。這可以在一個語句中完成嗎?我不想將輸出複製wc -l到另一個文件然後grep。

您可以將文件名傳遞給 STDINwc以僅獲取行數:

wc -l <filename.dat

要將其保存為變數:

var="$(wc -l <filename.dat)"

例子 :

$ wc -l foo.txt 
12 foo.txt

$ wc -l <foo.txt 
12

$ var="$(wc -l <foo.txt)"

$ echo "$var"
12

請注意,正如Stéphane Chazelas 指出的那樣,某些wc變體可能會在行數之前和之後添加空格以獲得所需的對齊。

引用自:https://unix.stackexchange.com/questions/228634