cut -d with more than 1 delimiter?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting cut -d with more than 1 delimiter?
# 1  
Old 07-10-2011
cut -d with more than 1 delimiter?

I need to cut or otherwise get the 4th and 5th position output of
Code:
for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done

example output is:
h;13;1310318701;443;93

I only need ";443;93" from any given run of "for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done"

Thanks for your time.
# 2  
Old 07-10-2011
What exactly does vnstat print?

You could just slap an awk at the end, but then the pipe chain would start getting pretty inefficiently long, might be better to rework this.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 07-10-2011
Corona688:

vnStat − a console-based network traffic monitor

I am using the output for a "bandwidth monitor" of a satellite subscriber piped into a Conky desktop 'decoration'.

They have hourly limits and they want the hourly usage displayed on the desktop.

Re: rework this- maybe
vnstat --dumpdb -h has a pretty graph but postionally I don't know if the 'hour' moves around the output shown http://susepaste.org/78935276

Hope that helps.
Thanks!

I too am also lurking on this post. Smilie

Edit: I think I have an answer. I will advise...

I believe
Code:
for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done | cut -c 17-

will do the trick.

---------- Post updated at 02:23 PM ---------- Previous update was at 01:58 PM ----------

Corona688:

Thanks for the timely response.

You rock!

---------- Post updated at 03:07 PM ---------- Previous update was at 02:23 PM ----------

The answer is:

Code:
#!/bin/bash
echo "Tx (MiB) for this hour is" $(for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done | cut -c 17- | cut -d\; -f1)
echo "Rx (MiB) for this hour is" $(for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done | cut -c 17- | cut -d\; -f2)

Thanks for listening.

Last edited by Habitual; 07-10-2011 at 04:26 PM..
# 4  
Old 07-10-2011
Code:
root@wrtu54g:~# vnstat --dumpdb | awk -F';' '$2 == hr && $1 == "h" { print $4 FS $5 }' hr=`date +%H`
128570;4814


Last edited by neutronscott; 07-10-2011 at 05:03 PM.. Reason: fixed it
This User Gave Thanks to neutronscott For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cut cmd with delimiter as |#|

Hi All- We have a file data as below with delimiter as |#| 10|#|20|#|ABC 13|#|23|#|PBC If I want to cut the 2nd field out of this, below command is not working as multiple pipe is causing an issue , it seems cut -f2 -d"|#|" <file_name> can you please help to provide the correct command... (7 Replies)
Discussion started by: sureshg_sampat
7 Replies

2. Shell Programming and Scripting

cut delimiter and save

i have list of names in a text file and I wanted to delete the commas en every line. for example: inside the text is a list of names in it with commas after each line. I wanted to delete these commas. which command must I execute for this? unix, dale, shawn, aaron, (4 Replies)
Discussion started by: garfish
4 Replies

3. Shell Programming and Scripting

cut with delimiter respect text

Hi, Can someone help me to get the shortest command Input file ========= I|know|"english|french" It|can|have|four|delimiters Desired output =========== "english|french" have If I use cut -d "|" -f3 , i am getting "english as 3rd field.But I would like to get the whole text in... (2 Replies)
Discussion started by: anandapani
2 Replies

4. Shell Programming and Scripting

How to cut by delimiter, and delimiter can be anything except numbers?

Hi all, I have a number of strings like below: //mnt/autocor/43°13'(33")W/ and i'm trying to get the numbers in this string, for example 431333 please help thanks ahead (14 Replies)
Discussion started by: sunnydanniel
14 Replies

5. Shell Programming and Scripting

how to cut all string after the last delimiter?

hi all, suppose a string: abc/def/ghi/jkl/mn.txt and i want to get the file name without the path. however, different files have different paths, therefore the number of delimiter is uncertain. thanks so much! (3 Replies)
Discussion started by: sunnydanniel
3 Replies

6. Shell Programming and Scripting

Cut columns with delimiter

HI, I have a file like below "103865","103835","Zming","","Zhu","103965","Sunnyvale","US", "116228","116227","Morlla","","Kowalski","113228","Paese "(Treviso)""IT" I want to validate the 7th column which is below. "Sunnyvale" "Paese In the above 7th column Paese is not ended with... (9 Replies)
Discussion started by: Krrishv
9 Replies

7. UNIX for Advanced & Expert Users

use a word as a delimiter with cut

Is there a way to use a word as a delimiter with cut? Or is there a way to use sed or awk with a word as a delimiter? I don't care which program I use for a delimiter I just want to use a word as a delimiter. (2 Replies)
Discussion started by: cokedude
2 Replies

8. Shell Programming and Scripting

Cut Number which appear before a delimiter

Hi All, How can i use the cut option to only output the number of rows, which is 2 is this case ? Pls note that the number of digit before the delimiter ":" is always varying. $ grep -n uuu xxx 2:** xxx yyy gg 44 tt uuu 2007 $ (2 Replies)
Discussion started by: Raynon
2 Replies

9. UNIX for Advanced & Expert Users

Cut date using y hat as delimiter

QUESTION: How can I cut out the date from just the first line and reformat it to 31-Jul-2007? I'll restate the question at the bottom again... DESCRIPTION: I need to cut a date out of a file - an example of the date's format in the file is 2007-07-31. It's in the 5th field and is separated... (1 Reply)
Discussion started by: tekster757
1 Replies

10. Shell Programming and Scripting

\r as delimiter in cut

I need to use \r as a delimiter in the -d option of the cut comand . Any help ? Thanks in advance . SD (5 Replies)
Discussion started by: shweta_d
5 Replies
Login or Register to Ask a Question