Code: Alles auswählen
perl -E"print 1..8,_,\$_ for 1..$COLUMNS/10;say 1..$COLUMNS%10"
Code: Alles auswählen
c=$COLUMNS;perl -E"print 1..8,_,\$_ for 1..$c/10;say 1..$c%10"
Mist, die funktionieren nur bis 100.
Code: Alles auswählen
perl -E"print 1..8,_,\$_ for 1..$COLUMNS/10;say 1..$COLUMNS%10"
Code: Alles auswählen
c=$COLUMNS;perl -E"print 1..8,_,\$_ for 1..$c/10;say 1..$c%10"
Code: Alles auswählen
c=$COLUMNS;perl -E"print 1..8,_,\$_%10for 1..$c/10;say 1..$c%10"
12345678_112345678_212345678_312345678_412345678_512345678_61234
Code: Alles auswählen
apt-get remove $(dpkg -l | grep -e "-dbg " | awk '{print $2}')
Code: Alles auswählen
# aptitude installed not_auto
ap search '~i !~M -dbg$'
Code: Alles auswählen
# simulate
ap -s remove '~i !~M -dbg$'
Ha! Dafuer sollten wir unbedingt ein neues Unterforum anlegen lassen. Nach dem Motto: Poste deinen Code und wir optimieren (= verkuerzen) ihn fuer dich. Das wird garantiert grandios einschlagen.linuxCowboy hat geschrieben:Mach doch einen eigenen Thread auf und lass deinen Code optimieren:
Code: Alles auswählen
$ echo -e \\b"12345678_"{1..8} # 28
12345678_112345678_212345678_312345678_412345678_512345678_612345678_712345678_8
Code: Alles auswählen
e -e \\b12345678_{1..8} # 23
12345678_112345678_2123
Code: Alles auswählen
c=8;eval "e -e \\\\b12345678_{1..${c}}"
12345678_112345678_212345678_312345678_
Uff ... Respekt! Das ist zwar unportabel, aber der kreative Ansatz beeindruckt mich.habakug hat geschrieben:Code: Alles auswählen
$ echo -e \\b"12345678_"{1..8} # 28 12345678_112345678_212345678_312345678_412345678_512345678_612345678_712345678_8
Code: Alles auswählen
c=$COLUMNS;perl -E"print 1..8,_,\$_%10for 1..$c/10;say 1..$c%10" # 64
12345678_112345678_212345678_312345678_412345678_512345678_61234
Code: Alles auswählen
i=;while((i++<$COLUMNS));do((i%10))&&e -n $((i%10))||e -ne \\b_$((i/10%10));done # 80
12345678_112345678_212345678_312345678_412345678_512345678_612345678_712345678_8
Code: Alles auswählen
for i in `seq $COLUMNS`;do((i%10))&&e -n $((i%10))||e -ne \\b_$((i/10%10));done # 79
12345678_112345678_212345678_312345678_412345678_512345678_612345678_712345678_
Ich schließe mich dem an. Sehr elegant/clever gelöst.ThorstenS hat geschrieben:Die echo -e \\b-Lösung ist wirklich großartig!
Code: Alles auswählen
printf "%c" $(seq $COLUMNS|sed -r 's/9$/_/;s/(.)0/\1/'|rev) # 59
12345678_112345678_212345678_312345678_412345678_512345678_
Code: Alles auswählen
printf "%c" `seq $COLUMNS|sed -r 's/9$/_/;s/(.)0/\1/'|rev` # 58
12345678_112345678_212345678_312345678_412345678_512345678
Code: Alles auswählen
printf %c `seq $COLUMNS|sed -r 's/9$/_/;s/(.)0/\1/'|rev` # 56
Code: Alles auswählen
printf %c `seq $COLUMNS|sed 's/9$/_/;s/\(.\)0/\1/'|rev` # 55
12345678_112345678_212345678_312345678_412345678_512345
Code: Alles auswählen
printf %c `seq $COLUMNS|sed 's/9$/_/;s/0$//'|rev` # 49
12345678_112345678_212345678_312345678_412345678_512345
Ab dreistelligen Zahlen aber schon, oder?r900 hat geschrieben:Das "\(.\)0" Konstrukt ist doch gar nicht nötig..Code: Alles auswählen
printf %c `seq $COLUMNS|sed 's/9$/_/;s/0$//'|rev` # 49 12345678_112345678_212345678_312345678_412345678_512345
Nein, denn das rev am Ende dreht die Zahlen um und durch printf %c wird dann nur die erste Ziffer gedruckt.Meillo hat geschrieben:Ab dreistelligen Zahlen aber schon, oder?
Code: Alles auswählen
printf %c `seq $COLUMNS|sed s/9$/_/\;s/0$//|rev` # 48
12345678_112345678_212345678_312345678_412345678
Code: Alles auswählen
printf %c `seq $COLUMNS|sed s/9$/_/\;s/0$//|rev` # 48
12345678_112345678_212345678_312345678_412345678
Code: Alles auswählen
printf %c `seq $COLUMNS|perl -pes/9$/_/\;s/0$//|rev` # 52
12345678_112345678_212345678_312345678_412345678_512
Code: Alles auswählen
printf %c `seq $COLUMNS|sed s/9$/_/\;s/0//|rev` # 47
12345678_112345678_212345678_312345678_412345678
Code: Alles auswählen
seq $COLUMNS|perl -pe's/9$/_/;s/0//;s/.*(.)\n/$1/m' # 51
12345678_112345678_212345678_312345678_412345678_51
Code: Alles auswählen
printf %c `seq $COLUMNS|perl -pes/9$/_/\;s/0//|rev` # 51
12345678_112345678_212345678_312345678_412345678_51
Code: Alles auswählen
seq $COLUMNS|perl -pe's/9$/_/;s/0//;s/.*(.)\n/$1/' # 50
12345678_112345678_212345678_312345678_412345678_5
Code: Alles auswählen
for i in `seq $COLUMNS`;do case $((i%10)) in 0) e -n $((i/10%10));;9) e -n _;;*) e -n $((i%10));;esac;done # 106
Code: Alles auswählen
for i in `seq $((COLUMNS/10))`;do e -n "`seq -s '' 8`_$((i%10))";done;seq -s '' $((COLUMNS%10)) # 95
Code: Alles auswählen
i=;while((i++<$COLUMNS));do((i%10))&&e -n $((i%10))||e -n $((i/10%10));done|sed s/89/8_/g # 89
Code: Alles auswählen
c=$COLUMNS;for i in `seq $((c/10))`;do e -n 12345678_$((i%10));done;seq -s '' $((c%10)) # 87
Code: Alles auswählen
i=;while((i++<$COLUMNS));do e -n $((i%10));((i%10))||e -en \\b\\b_$((i/10%10));done # 83
Code: Alles auswählen
for i in `seq $COLUMNS`;do((i%10))&&e -n $((i%10))||e -ne \\b_$((i/10%10));done # 79
Code: Alles auswählen
printf %c `seq $COLUMNS|sed -r 's/9$/_/;s/(.)0/\1/'|rev` # 56
Code: Alles auswählen
printf %c `seq $COLUMNS|sed s/9$/_/\;s/0//|rev` # 47
Code: Alles auswählen
perl -E '$c='$COLUMNS';while(++$i<=$c/10){print "12345678_".$i%10}say substr"123456789",0,$c%10' # 96
Code: Alles auswählen
c=$COLUMNS;perl -E"print 1..8,_,\$_%10for 1..$c/10;say 1..$c%10" # 64
Code: Alles auswählen
printf %c `seq $COLUMNS|perl -pes/9$/_/\;s/0//|rev` # 51
Code: Alles auswählen
seq $COLUMNS|perl -pe's/9$/_/;s/0//;s/.*(.)\n/$1/' # 50
Vielleicht bei fold(1). Das kann Text nach bestimmten Kriterien umbrechen, u.a. nach Zeichen. Dann koennte man mit demselben Tool ausmessen, wie breit der Text nun (oder hinterher) ist. Vielleicht auch bei cat(1), in Anlehnung an cat -n (gibt Zeilenummern mit aus). Aber so wirklich passt's nicht in die "one tool for one job"-Philosophie, also eher eigenstaendiges Programm.linuxCowboy hat geschrieben:Ich kann mir auch gut vorstellen, ihn über einen extra Schalter in die bewährten Hände eines seq zu legen.
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier