انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: doomhammer65ir در 02 آذر 1390، 06:34 بظ
-
touch newfile
for ((i=0;i<10;i++))
do
echo $i >>newfile
done
for((i=0;i<10;i++))
do
sed -n '1'p newfile
sed -n '$i'p newfile
done
sed شماره خط را میپذیرد لاکن متغیر i را نمیپذیرد . چرا ؟
نکته :
sed -n '1'p newfile : خط نخست از فایل newfile را چاپ میکند
-
پاسخ :
touch newfile
for ((i=1;i<10;i++))
do
echo $i >>newfile
done
for((i=1;i<10;i++))
do
sed -n "$i"p newfile
done
-
روش احمقانه :
touch newfile ;
touch temp_newfile ;
for ((i=1;i<10;i++))
do
echo $i >>newfile;
done
for((i=1;i<10;i++))
do
var=`head -n $i newfile | grep -v -f temp_newfile` ;
echo $var;
echo $var >> temp_newfile ;
done
rm -f temp_newfile