我有一个文件Length.txt
逐行具有多个名称(40)。我想编写一个小的 shell 脚本,它将计算文件每一行的字符数,如果计数小于 9,则在每行末尾添加额外的 8 个空格和 1 替换这些行。
例如,如果名称是
XXXXXX
替换为
XXXXXX 1
我尝试使用以下编码。它对我有用,但是每当它替换行时,它都会一次显示所有行。所以假设我有 40 行Length.txt
进出这 4 行,字符数少于 9,那么我的输出有 160 行。谁能帮我用 4 条更改的线只显示 40 条线的输出?
#!/usr/bin/sh
#set -x
while read line;
do
count=`echo $line|wc -m`
if [ $count -lt 9 ]
then
Number=`sed -n "/$line/=" Length.txt`;
sed -e ""$Number"s/$line/$line 1/" Length4.txt
fi
done < Length.txt