Solved

UNIX cut -d command (Urgent please)

Posted on 2004-10-02
8
502 Views
Last Modified: 2013-12-06
I have a text file that has one line and each field of the like are separated by two consecutive tabs. How can I extract each field?
I tried: $cat myfile.txt | cut -d"\t\t" -f0
this does not work...
0
Comment
Question by:tooki
  • 2
  • 2
  • 2
  • +2
8 Comments
 
LVL 20

Assisted Solution

by:tfewster
tfewster earned 20 total points
ID: 12209856
Which version of Unix?
Try using ^I (Press Ctrl-V then Ctrl-I) instead of \t
0
 
LVL 11

Accepted Solution

by:
avizit earned 30 total points
ID: 12210506
you can use a trick by putting  a sed in between

try

sed -e 's/\t\t/:/g'  myfile.text | cut -d: -f1
0
 
LVL 48

Expert Comment

by:Tintin
ID: 12210918
The delimiter for the cut command must be a single character.

BTW, there is no field0 with cut, it starts at 1.

Certainly avizit's suggestion will work, but it would be helpful to see an actual example of your data, to see if there is a better way of extracting the information you need.
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 20

Expert Comment

by:tfewster
ID: 12211299
AIX, HP-UX & Linux don't allow multi-byte delimiters in `cut`; Solaris does, but I'm not sure if Solaris `cut` reads \t as a Tab char
0
 
LVL 48

Expert Comment

by:Tintin
ID: 12213545

Solaris cut (and probably all others) default delimiter is a tab.

Note that a multi-byte delimiter does not allow you to specify 2 or more characters as a delimiter.
0
 
LVL 4

Expert Comment

by:bytta
ID: 12245165
If you don't use any single tabs in your fields, just count {1,3,5,7,9} instead of {1,2,3,4,5} (note that the tirst field is -f1, not -f0)

Otherwise, a sed preprocessor (or similar) is a must...
0
 
LVL 2

Expert Comment

by:Troxalias
ID: 12284353
You can also try making this with awk. For example if you want the second field instead of cut, use awk '{print $2}' .
0
 
LVL 4

Expert Comment

by:bytta
ID: 12285329
sed is "awk for dummies"... A lot easier to learn and can to all the "normal" awk stuff, but missing the fancy features. I used a grep/cut/sed combination for years before I took the time to learn awk - and still prefer it...

Using awk works just as well, but does not provide anything extra for this case (except more typing ;o).
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
Java performance on Solaris - Managing CPUs There are various resource controls in operating system which directly/indirectly influence the performance of application. one of the most important resource controls is "CPU".   In a multithreaded…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question