Sponsored Content
Full Discussion: Inserting Delimiters
Top Forums Shell Programming and Scripting Inserting Delimiters Post 302896871 by Akshay Hegde on Wednesday 9th of April 2014 02:52:23 PM
Old 04-09-2014
Quote:
Originally Posted by rakesh_411
Thanks Akshay for the code , Apologies for not mentioning the delimeter but you had it right pipe delimiter is the one which I thought as well .
Also I think I got confused with my input and output .

Code:
Mar 18 13:16:10 machinename string
Mar 18 13:17:08 machinename string 1 string2 string 3
Mar 18 13:18:16 machinename string 1 string2 string 3 string 4

Desired output
Code:
 
 
Mar 18 |  13:16:10 | machinename | string
Mar 18 | 13:17:08 | machinename |  string 1  string2  string 3
Mar 18 13:18:16 machinename |  string 1  string2  string 3  string 4

The strings need not be delimiter with | . Apologies for confusion .
Third line pipe is missing, if you are expecting following o/p use this code

Code:
$ cat f
Mar 18 13:16:10 machinename string
Mar 18 13:17:08 machinename string 1 string2 string 3
Mar 18 13:18:16 machinename string 1 string2 string 3 string 4

$ awk '{s=x;for(i=1;i<=NF;i++){ s = s ? s (i ==2 || i > 5 ? " " : " | ") $i : $i } $0 = s}1' f
Mar 18 | 13:16:10 | machinename | string
Mar 18 | 13:17:08 | machinename | string 1 string2 string 3
Mar 18 | 13:18:16 | machinename | string 1 string2 string 3 string 4

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delimiters missing

Hi I have a pipe-delimited file where I eventually need to replace a string stored on the 3th field on a specific record. This is how the file looks like: A|Mike|Lvl 1|... B|... A|Maria|Lvl 1|... C|... B|... A|Jimmy|Lvl 2|... C|... A|Carry|Lvl 0|... C|... B|... A|John|Lvl 8|...... (2 Replies)
Discussion started by: Indalecio
2 Replies

2. Solaris

To extract everything between two delimiters

My input file looks like " @$SCRIPT/atp_asrmt_adj.sql $SCRIPT/dba2000.scr -s / @$SCRIPT/cim1005w.pls $SCRIPT/dba2000.scr -s / @$SCRIPT/cim1006w.pls start $SCRIPT/cim1020d.sql;^M spool $DATA/cim1021m.sql @$DATA/cim1021m.sql ! rm $DATA/cim1021m.sql spool $DATA/cim1021m.sql... (1 Reply)
Discussion started by: dowsed4u8
1 Replies

3. Shell Programming and Scripting

Problems with delimiters

Hello, I have data in a file something like this - UNB+UNOA:1+006415160:1+AR0000012360:ZZ+080701:0552+2++DELFOR++++T'UNH+2+DELFOR:D:97A:UN Here, the delimiters used are + , : and ' . I have a set of such files in which these delimiters vary from one file to another. I am developing a... (4 Replies)
Discussion started by: The Observer
4 Replies

4. Shell Programming and Scripting

Two delimiters with AWK

Hello, this thread is more about scripting style than a specific issue. I've to grep from a output some lines and from them obtain a specific entry delimited by < and >. This is my way : 1) grep -i user list | awk '{FS="<";print $NF}' | sed -e 's/>//g' 2) grep -i user list | cut -d","... (10 Replies)
Discussion started by: gogol_bordello
10 Replies

5. Shell Programming and Scripting

Split using two delimiters

I'm trying to do a split using two delimiters. The first delimiter is ": " (or we could call it :\s). The second is "\n". How can or these delimiters so I can toss the values into an array without issue? I tried @array = split /:\s|\n/, $myvar; This doesn't seem to be working. Any an... (3 Replies)
Discussion started by: mrwatkin
3 Replies

6. Shell Programming and Scripting

Delimiters in awk

Line from input file a : b : c " d " e " f : g : h " i " j " k " l output k b a Its taking 7th word when " is the delimiter, 2nd and 1st word when : is the delimiter and returning all in one line.... I am on solaris Thanks..... (1 Reply)
Discussion started by: shekhar2010us
1 Replies

7. Shell Programming and Scripting

sort with different delimiters

I have a file with the following lines in it: Inbound1:remote - - 01/Nov/2011:08:29:51 -0500 "GET / HTTP/1.1" 404 2098 HTTP Inbound1:remote - - 02/Dec/2011:08:31:42 -0500 "GET / HTTP/1.1" 404 2098 HTTP Inbound3:remote - - 01/Oct/2011:08:29:52 -0500 "GET / HTTP/1.1" 404 2098 HTTP Inbound4:remote... (5 Replies)
Discussion started by: oldman2
5 Replies

8. Shell Programming and Scripting

Inserting additional comma delimiters in a csv file, after and before certian fields.

Hello I have a csv file which I need to insert addtional commas into. The csv is of the format field1,field2,field3,field4,...etc...,field13,field14 I need to add extra commas in each record so that the final output looks like ... (1 Reply)
Discussion started by: kamal_p_99
1 Replies

9. UNIX for Dummies Questions & Answers

delimiters used in UNIX

Can you point me to information on the different delimited in UNIX like colon, spaces and tabs? (1 Reply)
Discussion started by: momhef4
1 Replies

10. Shell Programming and Scripting

Delimiters with awk?

I have a file which is separated by delimiter "|", but the prob is one of my column do contain delimiter as description so how can i differentiate it? PS : the delmiter does have backslash coming before it, if occurring in column Annual|Beleagured|Desc|Denver... (2 Replies)
Discussion started by: nikhil jain
2 Replies
dsh(1)							      Dancer Tools reference							    dsh(1)

NAME
dsh - Distributed shell, or dancer's shell SYNOPSIS
dsh [-m machinename | -a | -g groupname] [-r remoteshellname] [-c | -w | -i | -F forklimit ] -- commandline DESCRIPTION
dsh executes command remotely on several different machines at the same time. An utility to effectively do a for a in $(seq 1 10); do rsh $a command; done in bourne shell. OPTIONS
The options available are as follows. --verbose | -v Give verbose output of the execution process. --quiet | -q Makes output quieter. --machine | -m [machinename[,machinename]*] Adds machinename to the list of machines that the command is exeuted. The syntax of machinename allows username@machinename where remote shell is invoked with the option to make it of username. From version 0.21.4, it is possible to specify in the format of username@machinename,username@machinename,username@machinename so that multiple hosts can be specified with comma-delimited values. --all | -a Add all machines found in /etc/dsh/machines.list to the list of machines that the specified command is executed. --group groupname | -g groupname Add all machines found in /etc/dsh/group/groupname to the list of machines that the specified command is executed. If groupname is on the form @netgroup then the machines in the given netgroup is used to specify the list of machines to execute on. --file machinefile | -f machinefile Add all machines found in the specified file to the list of machines that the specified command is executed. The file should list one machine specification per line (with the same syntax as the machinename argument). Lines starting with "#" are ignored. From version 0.21.4, Specifying the same machine several times using any of the machine specification options will result in multi- ple invocations merged into one. --remoteshell shellname | -r shellname Execute remote shell shellname as the remote shell. Usually any of "rsh", "remsh" or "ssh" are available --remoteshellopt rshoption | -o rshoption Add one option rshoption to the list of options passed on to the remote shell. --help | -h Output help message and exits. --wait-shell | -w Executes on each machine and waits for the execution finishing before moving on to the next machine. --concurrent-shell | -c Executes shell concurrently. --show-machine-names | -M Prepends machine names on the standard output. Useful to be used in conjunction with the --concurrent-shell option so that the out- put is slightly more parsable. --hide-machine-names | -H Do not prepend machine names on the standard output. --duplicate-input | -i Duplicates the input to dsh process to individual process that are remotely invoked. Needs to have --concurrent-shell set. Due to limitations in current implementation, it is only useful for running shell. Terminate the shell session with ctrl-D. --bufsize | -b [buffer-size in bytes] Sets the buffer size used in replicating input for --duplicate-input option. --version | -V Outputs version information and exits. --num-topology | -N Changes the current topology from 1. 1 is the default behavior of spawning the shell from one node to every node. Changing the num- ber to a value greater than 2 would result in dsh being spawned on other machines as well. --forklimit | -F fork limit Similar to -c with a limit on the number of simultaneous connections. dsh will wait before creating new connection if the limit is reached. Useful when the number of nodes to be accessed is going somewhere above 200, and using -N option is not possible. EXIT STATUS
The first non-zero exit code of child processes is returned, or zero if none returned non-zero exit code. 1 if error is found in command-line specifications. 2 if signal is received from child processes. EXAMPLES
dsh -a w Shows list of users logged in on all workstations. dsh -r ssh -a -- w Shows list of users logged in on all workstations, and use ssh command to connect. (It should be of note that when using ssh, ssh- agent is handy.) dsh -r ssh -m node1 -m node2 -c -- 'echo $HOSTNAME $(cat/proc/loadavg )' Shows the load average of machines node1 and node2. FILES
/etc/dsh/machines.list | $(HOME)/.dsh/machines.list List of machine names to be used for when -a command-line option is specified. /etc/dsh/group/groupname | $(HOME)/.dsh/group/groupname List of machine names to be used for when -g groupname command-line option is specified. /etc/dsh/dsh.conf | $(HOME)/.dsh/dsh.conf Configuration file containing the day-to-day default. BUGS
There should be a dcp for copying files to remote systems. Configuration files should really be able to do something more than it does now. AUTHOR
Junichi Uekawa (dancer@debian.org) Upstream page is available at http://www.netfort.gr.jp/~dancer/software/dsh.html SEE ALSO
rsh(1), ssh(1), remsh(1), dsh.conf(5) Debian-Beowulf/Dancer 2007 Aug 15 dsh(1)
All times are GMT -4. The time now is 01:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy