Cut column and edit data

Mar 26 12:32:53 name sshd[3261]: 192.168.1.14
Mar 27 12:42:53 name sshd[3262]: 192.168.1.14

how to make this data in output as:

"Mar 26 12:32:53","name","sshd","192.168.1.14"
"Mar 27 12:42:53","name","sshd","192.168.1.14"

anyone plzz help me out!!!!!!!!!!!!!!

sed 's/ /","/g;s/","//2; s/","//1;s/.*/\"&\"/;s/sshd[^:]:/sshd/' infile

---------- Post updated at 12:56 PM ---------- Previous update was at 12:49 PM ----------

oops, i forgot a wildcard * and some space ... here you go :

sed 's/ /","/g;s/","/ /2;s/","/ /1;s/.*/\"&\"/;s/sshd[^:]*:/sshd/' infile
$ cat my
Mar 26 12:32:53 name sshd[3261]: 192.168.1.14
Mar 27 12:42:53 name sshd[3262]: 192.168.1.14
$ sed 's/ /","/g;s/","/ /2;s/","/ /1;s/.*/\"&\"/;s/sshd[^:]*:/sshd/' my
"Mar 26 12:32:53","name","sshd","192.168.1.14"
"Mar 27 12:42:53","name","sshd","192.168.1.14"
$

---------- Post updated at 12:57 PM ---------- Previous update was at 12:56 PM ----------

oops again, no need for escaping the "

$ sed 's/ /","/g;s/","/ /2;s/","/ /1;s/.*/"&"/;s/sshd[^:]*:/sshd/' my
"Mar 26 12:32:53","name","sshd","192.168.1.14"
"Mar 27 12:42:53","name","sshd","192.168.1.14"
1 Like

awk and sed.

$cat file
Mar 26 12:32:53 name sshd[3261]: 192.168.1.14
Mar 27 12:42:53 name sshd[3262]: 192.168.1.14
$awk -v OFS='","' "sub(/\[[0-9]+\]:/,\"\",\$5) {print \$1\" \"\$2\" \"\$3,\$4,\$5,\$6}" file | sed 's/.*/\"&\"/'
"Mar 26 12:32:53","name","sshd","192.168.1.14"
"Mar 27 12:42:53","name","sshd","192.168.1.14"
awk '{sub(/\[[0-9]*\]:/,"",$0);for (i=1;i<=NF;i++)x=(i<4)?((x)?x" "$i:"\""$i):x"\",\""$i; print x"\"";x=z}' my

---------- Post updated at 02:19 PM ---------- Previous update was at 01:59 PM ----------

or

$ awk '{sub(/\[[0-9]*\]:/,"",$0);for (i=1;i<=NF;i++)x=(i<4)?((x)?x" "$i:$i):x"\",\""$i;gsub(/^|$/,"\"",x); print x;x=z}' my
"Mar 26 12:32:53","name","sshd","192.168.1.14"
"Mar 27 12:42:53","name","sshd","192.168.1.14"

Another awk and sed:p

awk '{$0="\""$0"\"";$3=$3"\",\"";$5="\",\""substr($5,1,4)"\",\"";gsub(/(\" )|( \")/,"\"")}1' file
awk '{gsub(/ /,"\",\"");sub(/","/," ");sub(/","/," ");sub(/\[.*\]:/,"");sub(/^/,"\"");sub(/$/,"\"")}1' file
sed -e 's/^/"/;s/$/"/;s/ /","/g;s/","/ /;s/","/ /;s/\[.*\]://' file

Regards