Sponsored Content
Full Discussion: ls color on AIX
Operating Systems AIX ls color on AIX Post 302276717 by bakunin on Wednesday 14th of January 2009 12:40:12 PM
Old 01-14-2009
Quote:
Originally Posted by tagger
It doesnt work very well with | more.
Do U know why ?
more - as well as pg - act both as text filters. Both are intended to be fed pure text streams and everything else (that includes termcap sequences or ANSI sequences) is not guaranteed to work at all.

That was the short answer. The same effect, for example you will see when feeding a non-english text with umlauts or other diacritical extravaganza to "more" and/or "pg". Some - more by chance than intendedly so - works, most do not.

The reason for your problem is that the colours in "ls" come from injections of terminal steering sequences into the stream of characters and whitespace. Here is the principle:

Code:
without LS_COLOURS
# ls -lrt
total 128
54198505 drwxr-xr-x  3 user user  4096 Jan  6 18:06 .
54165666 drwxr-xr-x 17 user user  4096 Jan  6 18:06 ..
54198511 -rw-------  1 user user  1066 Jan  6 18:06 file1
54198519 -rw-------  1 user user 21451 Jan  6 18:06 file2
54198519 drw-------  1 user user 21451 Jan  6 18:07 dir1

with LS_COLOURS
# ls -lrt
total 128
54198505 drwxr-xr-x  3 user user  4096 Jan  6 18:06 <ESC-Seq>.<ESC-Seq>
54165666 drwxr-xr-x 17 user user  4096 Jan  6 18:06 <ESC-Seq>..<ESC-Seq>
54198511 -rw-------  1 user user  1066 Jan  6 18:06 <ESC-Seq>file1<ESC-Seq>
54198519 -rw-------  1 user user 21451 Jan  6 18:06 <ESC-Seq>file2<ESC-Seq>
54198519 drw-------  1 user user 21451 Jan  6 18:07 <ESC-Seq>dir1<ESC-Seq>

These ESC-Sequences set the terminal to display the characters in different colours or reset this mode back to normal. Read a man page of termcap and search for "standout modes" if you want to know more.

There are two possible explanations for your problem: the first one is, that "ls" behaves differently if writing to a terminal or a pipeline. For instance, if you issue "ls" (without parameter) the output will be in several columns. If you issue "ls | pg" you will notice that it is formatted not in several but only one column. "ls" is designed that way because it makes writing scripts easier (if you have to split the columns back to single files first it would be more complicated to cycle through files in a loop), see "man ls" for details on this. Maybe it is the same with the colours and they are suppressed if ls notices that it is run in a pipeline to not interfere with scripting.

The other possible explanation is, that more eats away on the ESC-sequences because it doesn't know hoe to deal with them for reasons described above. Try using "less" as a "more"-replacement in this case, because i suppose it will - coming from the same source, so to say - be able to deal with the formatting sequences better.

I hope this helps.

bakunin

PS for Padov: "more" can scroll forward and backwards too, at least in its AIX version: use the navigating keys known from vi, like:

"k" = line up
"j" = line down

etc.
 

3 More Discussions You Might Find Interesting

1. AIX

Configuring Color Laser ptr in AIX

Hi All, I have Network color laser printer which is to be configured in AIX5L. The Model of the printer is OKI C3200. Will it is supported with AIX 5..? I could not find any drivers for this. Will any compatible drivers are available for this printer... I tried with the default drivers hplj-4... (2 Replies)
Discussion started by: helloajith
2 Replies

2. UNIX for Dummies Questions & Answers

How to change the background color in the init 3 mode(not line color)

Hello, I am using RHEL 6.1 on VMware I am searching for a way to change background color (not line by line color wich one can using tput command) basically changing the color of the whole screen to white instead of the default black and changing font color to black and alos would like to... (2 Replies)
Discussion started by: Dexobox
2 Replies

3. AIX

How to print color text in AIX?

Hi I'd like to print color text and I've tried this: echo "\033but it didn't woked. When I changed 0 --> 1/4/5, the text "HI" --> bold/underline/blink, but when I changed 31 or 33 to other values, the color didn't change. What's the problem. Need to install something ??? (8 Replies)
Discussion started by: bobochacha29
8 Replies
APPLYDELTARPM(8)					      System Manager's Manual						  APPLYDELTARPM(8)

NAME
applydeltarpm - reconstruct an rpm from a deltarpm SYNOPSIS
applydeltarpm [-v] [-p] [-r oldrpm] deltarpm newrpm applydeltarpm -c|-C deltarpm applydeltarpm [-c|-C] -s sequence applydeltarpm -i deltarpm DESCRIPTION
applydeltarpm applies a binary delta to either an old rpm or to on-disk data to re-create a new rpm. The old rpm can be specified with the -r option, if no rpm name is provided on-disk data is used. You can use -p to make applydeltarpm print the percentage of completion, or -v to make it more verbose about its operation. The second an third form can be used to check if the reconstruction is possible. It may fail if the on-disk data got changed (deltarpms are created in a way that config file changes do not matter) or the deltarpm does not match the rpm the delta was generated with. The -c option selects full (i.e. slow) on-disk checking, whereas -C only checks if the filesizes have not changed. Instead of a full deltarpm a sequence id can be given with the -s sequence option. Such an id contains all the information that is needed to do reconstruction checking. Finally information about a deltarpm can be printed with the -i option. EXIT STATUS
applydeltarpm returns 0 if the rpm could be recreated or the checking succeeded, it returns 1 and prints an error message to stderr if something failed. SEE ALSO
makedeltarpm(8), rpm(8) AUTHOR
Michael Schroeder <mls@suse.de> Feb 2005 APPLYDELTARPM(8)
All times are GMT -4. The time now is 09:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy