Length.txt
行ごとに複数の名前 (40) を持つ 1 つのファイルがあります。ファイルの各行の文字数をカウントする小さなシェル スクリプトを作成し、カウントが 9 未満の場合は、それらの行を 8 つのスペースと各行の末尾に 1 つ追加して置き換えます。
たとえば、名前が
XXXXXX
として置き換えます
XXXXXX 1
以下のコーディングで試しました。私にとっては機能していますが、行を置き換えるたびに、一度にすべての行が表示されます。したがってLength.txt
、その 4 行の内外に 40 行あり、文字数が 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