Cut command: can't make it cut fields

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Cut command: can't make it cut fields
# 1  
Old 04-23-2016
Cut command: can't make it cut fields

I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of cut command so to have columns 1,3,4,9 cut (e.g. "left").

However when I'm trying to execute the command

Code:
cut -f 1,3,4,9 My_dir.tsv

nothing happens. I guess it's because the file isn't formatted properly with regard to implementing tabbed spaces. I imagined that automatic formatting, with the deployment of columns I see in output, emerging along with the result of ls is a .tsv file by default but I was wrong.

What should I do to make it work as intended? How do I make a real .tsv file of ls output?

My OS is OS X (Lion).
Cut command: can't make it cut fields-tsvpng
# 2  
Old 04-23-2016
Hello scrutinizerix,

Could you please confirm it is not a homework, as we do have a special section/forum for homework/projects here. In case it is not homework, could you please let us know clearly what is your requirement because it is not clear in your post, please post your requirement with sample Input_file and expected output. So that we could help you out easily.


Thanks,
R. Singh
# 3  
Old 04-24-2016
My_dir.tsv is empty!?
# 4  
Old 04-24-2016
There are at least three ways to do this, but none of them work perfectly (depending on the number of files present and the collective lengths of their names, whether or not any of the filenames contain space or tab characters, and whether or not any of the filenames contain newline characters).

Note also that the ls utility goes to a lot of work to line up output fields while producing minimal line lengths. Converting the ls -l output to use a single tab as a field separator for all fields is likely to produce wider line lengths on display devices, and, depending on the variability of user and group name lengths, unaligned group and filename output fields.

But, before we can go into details on these possibilities, we do need clarification, as RavinderSingh13 asked, about what a "tutoring course" is.
# 5  
Old 04-24-2016
Quote:
Originally Posted by RavinderSingh13
Hello scrutinizerix,

Could you please confirm it is not a homework, as we do have a special section/forum for homework/projects here. In case it is not homework, could you please let us know clearly what is your requirement because it is not clear in your post, please post your requirement with sample Input_file and expected output. So that we could help you out easily.


Thanks,
R. Singh
Homework? No, I'm learning UNIX for OS X on my own using sources bought online. Didn't have a clue of the dedicated section for homework. Will consider in future, thanx.

---------- Post updated at 02:37 PM ---------- Previous update was at 02:25 PM ----------

Quote:
Originally Posted by MadeInGermany
My_dir.tsv is empty!?
No, the picture is just contents of My_dir.tsv that is a snapshot of my home directory listing not the actual ls command. It's the My_dir.tsv that is 3.1K in reality.

---------- Post updated at 02:42 PM ---------- Previous update was at 02:37 PM ----------

Quote:
Originally Posted by Don Cragun

But, before we can go into details on these possibilities, we do need clarification, as RavinderSingh13 asked, about what a "tutoring course" is.
The course is "Learning UNIX for Mac OS X users" by Kevin Scoglund.
# 6  
Old 04-24-2016
Do I get you right that you want the permissions, owner, group, and file name from ls's "long listing format" (as the bare ls alone won't yield those fields)? As long as you don't have white space in file names (as mentioned by Don Cragun), this
Code:
ls -l | tr -s " " " " | cut -d" " -f 1,3,4,9

might do. With spaces in there, try
Code:
...,9-

Not sure why you need the .tsv resulting file name?
This User Gave Thanks to RudiC For This Post:
# 7  
Old 04-24-2016
Quote:
Originally Posted by RudiC
Not sure why you need the .tsv resulting file name?
I'm myself not sure why do I need this, perhaps because of mentioning of .tsv in this tutoring course in a chapter about tr command where it's explained how to turn commas into spaces by utilizing tr, thus making .tsv (tab separated values) file of .csv ( comma separated values) file.
But since it's not so important what type of text file come into play, yeah, you're right.

Last edited by vbe; 04-24-2016 at 02:02 PM.. Reason: icode is more suitable here...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How To Count Fields For Cut?

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

2. Shell Programming and Scripting

Need a separator string between fields in cut -c command

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)
Discussion started by: HemaV
3 Replies

3. UNIX for Dummies Questions & Answers

Cut pid from ps using cut command

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)
Discussion started by: ran ber
8 Replies

4. Shell Programming and Scripting

How to make the cut command read a column after logical statements are meet?

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)
Discussion started by: pericopericone
1 Replies

5. Shell Programming and Scripting

Cut Command error cut: Bad range

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)
Discussion started by: dgmm
2 Replies

6. Shell Programming and Scripting

awk sed cut? to rearrange random number of fields into 3 fields

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)
Discussion started by: axo959
4 Replies

7. Shell Programming and Scripting

cut: get either one or two fields

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)
Discussion started by: maxvirrozeito
3 Replies

8. Shell Programming and Scripting

Cut Last 3 Fields

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)
Discussion started by: bourne
4 Replies

9. Shell Programming and Scripting

how to cut 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)
Discussion started by: rajan_ka1
1 Replies
Login or Register to Ask a Question