计算文件的行数并进行比较

Joã*_*ias 3 bash shell

我需要计算文件中的行数,然后根据行数是否小于或等于 20 发送一条消息。我尝试这样做:

touch file.txt
echo "hello" > file.txt
nr_lines = $(wc -l < file.txt)
if[$nr_lines -le 20]; then
  echo "number of lines is less than 20."
fi
Run Code Online (Sandbox Code Playgroud)

但这不起作用。我究竟做错了什么?

ogu*_*ail 5

nr_lines = $(wc -l < file.txt)
if[$nr_lines -le 20]; then
Run Code Online (Sandbox Code Playgroud)

这应该是:

nr_lines=$(wc -l < file.txt)
if [ $nr_lines -le 20 ]; then
Run Code Online (Sandbox Code Playgroud)

不过我会使用 awk。

awk 'NR>=20{exit} END{if(NR<20)print "number of lines is less than 20"}' file.txt
Run Code Online (Sandbox Code Playgroud)