If the idea is just to use tr to translate ls -l output spaces and tabs separating fields into single tab characters, you can try:
which should do what you want as long as none of your filenames contain whitespace characters (i.e., spaces, tabs, or newlines). But, stat might be more reliable and just needs one command instead of a three stage pipeline:
which should do what you want unless you have a lot of files in your directory with enough long filenames to overflow ARG_MAX limits.
And, if you could have large numbers of files some of which have names that contain space or tab characters (but not newlines) you could always feed the ls output through sed:
where those are literal tab characters after the \1, \2, and \3 in the replacement text of the substitute command to get exactly what you want no matter how many files are present in the directory.
Note that in all of these I used the blank character class instead of just using a space character in these patterns and BREs because I'm not sure whether ls ever uses tab characters to reduce the number of characters it writes while lining up output fields.
I want to cut two coloums simulatiously and paste in some other file
for ex:
cut d ' ' -f3 -f4 xxx | paste yyy - > zzz;
from the above i want to cut two fileds 3 and 4 and paste as last coloums of single file (zzz).
how to solve this
regards
rajan (1 Reply)
I have a text:
dsj khfksjdh <time> EST 2006
ab cgnr jkkjt <time> EST 2006
gfhdgjghg <time> EST 2006
fkdjh kjhsekjrh kdjhfkh jhdfkhfdkjh kjdf <time> EST 2006
In the above file i need to extract time from every line... which is always the third from the last... Pls help!
Cheers,
Bouren (4 Replies)
Hello,
I would like to extract one or two fields of a line.
At the moment, I am extracting the first field of a line:
command | cut -f 1 -d '.' > file
The line can have two or three fields delimited with a dot.
if three fields, I want to be able to get the first two
ie if line =... (3 Replies)
I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want.
The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Hi
Can anyone what I am doing wrong while using cut command.
for f in *.log
do
logfilename=$f
Log "Log file Name: $logfilename"
logfile1=`basename $logfilename .log`
flength=${#logfile1}
Log "file length $flength"
from_length=$(($flength - 15))
Log "from... (2 Replies)
Hi,
I want to write a code that will cut everything that is under a couple of columns in a text file but so far I am not even close to achieve something like that.
Basically, I want to cut all the information from the columns and transfer the column information to a spread sheet.
I have... (1 Reply)
hay
i am trying to get JUST the PID from the ps command.
my command line is:
ps -ef | grep "mintty" | cut -d' ' -f2
but i get an empty line. i assume that the delimiter is not just one space character, but can't figure out what should i do in order to do that.
i know i can use awk or cut... (8 Replies)
Hi All,
I'm trying to view data using cut command for a fixed length file using the below command:
cut -c 1-3,4-5 FALCON_PIS_00000000.dat
I want to mention a separator say | (pipe) in between 1-3 and 4-5.
Please let me know how to achieve this.
Thanks in Advance, (3 Replies)
I am new to cut and I want to use the field option with a space delimiter on an Apache log file.
For example, if I wanted to find the 200 HTTP code using cut in this manner on the file below
cat access_abc.log | cut -d' ' -f7 | grep "200"
157.55.39.183 - - "GET /content/696-news041305... (4 Replies)
Discussion started by: sharingsunshine
4 Replies
LEARN ABOUT SUNOS
unexpand
expand(1) User Commands expand(1)NAME
expand, unexpand - expand TAB characters to SPACE characters, and vice versa
SYNOPSIS
expand [-t tablist] [file...]
expand [-tabstop] [ -tab1, tab2,. . ., tabn] [file...]
unexpand [-a] [-t tablist] [file...]
DESCRIPTION
The expand utility copies files (or the standard input) to the standard output, with TAB characters expanded to SPACE characters. BACKSPACE
characters are preserved into the output and decrement the column count for TAB calculations. expand is useful for pre-processing character
files (before sorting, looking at specific columns, and so forth) that contain TAB characters.
unexpand copies files (or the standard input) to the standard output, putting TAB characters back into the data. By default, only leading
SPACE and TAB characters are converted to strings of tabs, but this can be overridden by the -a option (see the OPTIONS section below).
OPTIONS
The following options are supported for expand:
-t tablist Specifies the tab stops. The argument tablist must consist of a single positive decimal integer or multiple posi-
tive decimal integers, separated by blank characters or commas, in ascending order. If a single number is given,
tabs will be set tablist column positions apart instead of the default 8. If multiple numbers are given, the tabs
will be set at those specific column positions.
Each tab-stop position N must be an integer value greater than zero, and the list must be in strictly ascending
order. This is taken to mean that, from the start of a line of output, tabbing to position N causes the next char-
acter output to be in the (N+1)th column position on that line.
In the event of expand having to process a tab character at a position beyond the last of those specified in a mul-
tiple tab-stop list, the tab character is replaced by a single space character in the output.
-tabstop Specifies as a single argument, sets TAB characters tabstop SPACE characters apart instead of the default 8.
-tab1,tab2,...,tabn Sets TAB characters at the columns specified by -tab1,tab2,...,tabn
The following options are supported for unexpand:
-a Inserts TAB characters when replacing a run of two or more SPACE characters would produce a smaller output file.
-t tablist Specifies the tab stops. The option-argument tablist must be a single argument consisting of a single positive decimal
integer or multiple positive decimal integers, separated by blank characters or commas, in ascending order. If a single
number is given, tabs will be set tablist column positions apart instead of the default 8. If multiple numbers are given,
the tabs will be set at those specific column positions. Each tab-stop position N must be an integer value greater than
zero, and the list must be in strictly ascending order. This is taken to mean that, from the start of a line of output,
tabbing to position N will cause the next character output to be in the (N+1)th column position on that line. When the -t
option is not specified, the default is the equivalent of specifying -t 8 (except for the interaction with -a, described
below).
No space-to-tab character conversions occur for characters at positions beyond the last of those specified in a multiple
tab-stop list.
When -t is specified, the presence or absence of the -a option is ignored; conversion will not be limited to the processing
of leading blank characters.
OPERANDS
The following ooperand is supported for expand and unexpand:
file The path name of a text file to be used as input.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of expand and unexpand: LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 Successful completion
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO tabs(1), attributes(5), environ(5), standards(5)SunOS 5.10 1 Feb 1995 expand(1)