Which cut command is more efficient?


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Which cut command is more efficient?
# 1  
Old 03-17-2011
Which cut command is more efficient?

Hi,

I've got a query regarding which of the following is more efficient & why -

Code:
cat <filename>|cut -d'*' -f2- > <newfilename>
or 
cut -d'*' -f2- <filename> > <newfilename>

Thanks.
# 2  
Old 03-17-2011
Spawning two processes can never be better than one...so based on this you can figure out which is more efficient.
# 3  
Old 03-17-2011
Spawning two processes can be better if the single process does something stupid, but cat isn't even doing anything useful here. See useless use of cat.
# 4  
Old 03-17-2011
Quote:
Originally Posted by Corona688
Spawning two processes can be better if the single process does something stupid, but cat isn't even doing anything useful here. See useless use of cat.
That would be the exception and assumes the scripter doesnt know what to do with that one spawned process.
# 5  
Old 03-22-2011
For trivial file size the main overhead is loading programs and opening the file. Reading the file directly with "cut" makes sense.
For large files the argument is less clear unless the command is better than "cat" at reading data from disc.

For example with a 600 Mb text file:
Code:
timex cat bigfile|cut -f2 -d- >/dev/null

real       17.60
user        0.17
sys         2.62

timex cut -f2 -d- bigfile >/dev/null

real       17.45
user       16.10
sys         1.32

Here reading the file direcly in "cut" is fractionally quicker but has a greater impact on the system overall.
# 6  
Old 03-23-2011
Quote:
Originally Posted by methyl
Here reading the file direcly in "cut" is fractionally quicker but has a greater impact on the system overall.
Does this system have multiple cores? That'd be the only way I could explain that -- one core runs 'cat' and reads the file while the other runs 'cut' to process it. This may mean using twice as much CPU power for a nearly unmeasurable CPU gain.
# 7  
Old 03-23-2011
Experts,

This is slightly beyond my comprehension but let me try to put it in my words to verify.

. combining cat & Cut will cause spawning and will utilize more CPU threads which is fine for smaller files.
. In case of bigger files as in my case, it is better to directly operate the Cut command on the file. This will result in optimum CPU utilization.

Please correct me.

This turned out be little more complex than I though. Thanks.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Efficient way to combine command

im currently running the following command to grab all arguments in front of a script, directly from the process table. # cat /tmp/allmyprocs ubuntu 9933 27793 0 03:29 pts/0 00:00:00 /bin/sh ./prying.sh ubuntu 9941 9933 0 03:29 pts/0 00:00:00 sh ubuntu 9952 9941 0 03:29... (1 Reply)
Discussion started by: SkySmart
1 Replies

2. Shell Programming and Scripting

Combining awk command to make it more efficient

VARIABLE="jhovan 5259 5241 0 20:11 ? 00:00:00 /proc/self/exe --type=gpu-process --channel=5182.0.1597089149 --supports-dual-gpus=false --gpu-driver-bug-workarounds=2,45,57 --disable-accelerated-video-decode --gpu-vendor-id=0x80ee --gpu-device-id=0xbeef --gpu-driver-vendor... (3 Replies)
Discussion started by: SkySmart
3 Replies

3. UNIX for Beginners Questions & Answers

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... (9 Replies)
Discussion started by: scrutinizerix
9 Replies

4. Shell Programming and Scripting

Cut command

hi, i have a file abc,"an,ab",cde,efg abc,anab,cde,efg and need to cut the second field so the output should be abc,cde,efg and i have used cut -d',' -f1-1,3- but its giving me abc,ab",cde,efg abc,cde,efg (4 Replies)
Discussion started by: ATWC
4 Replies

5. 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

6. 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

7. Shell Programming and Scripting

Help with cut command

Gurus, I need help with the cut command : I have a file with garbage charaters at the beginning of each record; but these characters are not of the same length; First record has 3 garbage chars to be removed; rest have 2; If the length was consistent across all the records, I could have... (3 Replies)
Discussion started by: tru_tell
3 Replies

8. Shell Programming and Scripting

Cut command

Hi, I want to cut from a particular position to a particular position and retain the rest. I tried this cut -c31-51 file1.txt > file2.txt But The characters from the position 31 to 51 were only present in file2.txt. Is there a way to reverse this i.e to retain the rest except from... (1 Reply)
Discussion started by: ragavhere
1 Replies

9. UNIX for Dummies Questions & Answers

cut command

how do you show just the used disk space. using the cut and df command?? or does anyone have any other suggestions on how to do it a better way? (3 Replies)
Discussion started by: rookie22
3 Replies
Login or Register to Ask a Question