我试图在字符数小于9时显示行号。如果小于9,那么我想在行尾添加一个标签。 但是,在sed命令中执行此操作时,我不会在输出中查看$ line。
#!/usr/bin/sh
#set -x
while read line; do
count=`echo $line|wc -m`
if [ $count -lt 9 ]
then
sed -n '/$line/=' Length4.txt;
fi
done < Length4.txt
Length.txt
ABCD
DEFG
HFIJ
KLMN
答案 0 :(得分:0)
shell中需要双引号才能进行变量扩展:
sed -n "/$line/=" Length4.txt
虽然如果您更好地描述问题,我们可以帮助您清理一些代码。
答案 1 :(得分:0)
使用awk
:
awk 'length($0) < 9 { print NR }' Length4.txt