03-04-2011
Problems editing file with awk in bash script
Hello dear users, here I have a script to manipulate .csv files that are like this originally:
Quote:
Txxx-Px_14_0_0==xxx-o6_0_0,26886_27498_7,TGCUY01,26886,xxx,27498,xx,PortChannel,39813,Po0_14_0_0,,So6_0_0,,0,Links TGCUY01,xxxx- (xxx)
And I need to make a script to delete certain fields. Each field is separated with a comma.
So, here is my script (at least a part of it):
Quote:
#!/bin/bash
echo -e "Type name of document:"
read DOCUMENT
echo "Processing."
nawk -F"," '{print $1","$2","$3","$4","$7","$8","$9","$10","$13","$14","$15","$16}' $DOCUMENT >> "$DOCUMENT"tmp
nawk '{gsub("'=='","");print }' "$DOCUMENT"tmp >> "$DOCUMENT"final
rm "$DOCUMENT"tmp
echo "Successfully processed."
Field $1 is composed of a name, and then a "==$5-$12".
I need to delete that part. Is always like Txxx-Px_14_0_0==xxx-o6_0_0,26886_27498_7 and I need to delete Ex.
==xxx-o6_0_0,26886_27498_7 dynamically.
gsub works only for characters that don't change (or at least for me).
I tried making a variable for $5-$12 but it didn't work.
Can you help me please
?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
I have a file, say test.dat which is "|" separated. It has 50K records in it. One of the field in the file has the data in the format 'mm/dd/yyyy'. I need to edit the file by changing the format to 'yyyy/mm/dd' in the same field where as the rest of the data remain untouched. Please... (2 Replies)
Discussion started by: rinku11
2 Replies
2. Shell Programming and Scripting
I have input file that is having below text
098769
178902
234678
I want to modify the input file like below.
'098769',
'178902',
'234678'
Can you please help to get this. I tried but i am not getting this. (3 Replies)
Discussion started by: awk_beginner
3 Replies
3. Shell Programming and Scripting
Hello Awk Gurus,
Can anyone of you help me with the below problem. I have got a file having data in below format
pmFaultyTransportBlocks
-----------------------
9842993
pmFrmNoOfDiscRachFrames
-----------------------
NULL
pmNoRecRandomAccSuccess
-----------------------... (4 Replies)
Discussion started by: Mohammed
4 Replies
4. UNIX for Dummies Questions & Answers
Hi all,
Pls help me with file editing using awk.
I have a text file with the below format.
"STANDARD VOLUME ","2009","BUX","V","JCBH49","NF", 001413
"VENDOR MATERIAL-STD ","2009","BUX","V","JCBH49","NF", 009948
"INBOUND TRANS-STD ... (2 Replies)
Discussion started by: srinivas.maddy
2 Replies
5. Web Development
okay i'm going to try to say this uber-simple:
I use dropbox (file-sync service). in order for dropbox sync files, they must be its children eg. somewhere under /home/jzacsh/Dropbox].
I want to now use it to keep my development files in sync across my machines:
easy: just move my dev. files... (2 Replies)
Discussion started by: jzacsh
2 Replies
6. Shell Programming and Scripting
Hello,
can someone please help me to fix this script,
I have a 2 files, one file has hostname information and second file has console information of the hosts in each line, I have written a script which actually reads each line in hostname file and should grep in the console file and paste the... (8 Replies)
Discussion started by: bobby320
8 Replies
7. Shell Programming and Scripting
Hi
I need help with my coding , first time I'm working with bash .
What i must do is check if there is 3 .txt files if there is not 3 of them i must give an error code , if al three is there i must first arrange them in alphabetical order and then take the last word in al 3 of the .txt files... (1 Reply)
Discussion started by: linux newb
1 Replies
8. Shell Programming and Scripting
HI All,
I am new to unix. I have a file would like to do some editing by using awk, cut and sed. Could anyone help?
This file contain 100 lines. There are one line for example:
2,"102343454",5060,"579668","579668","579668","SIP",,,"825922","035885221283026",1,268,"00:59:00.782 APR 17... (2 Replies)
Discussion started by: mimilaw
2 Replies
9. Shell Programming and Scripting
I am trying to automate editing of a json file using bash script.
The file I initially receive is
{
"appMap": {
"URL1": {
"name": "a"
},
"URL2": {
"name": "b"
},
"URL3": {
"name": "c"
},
}
WHat I would like to do is replace... (5 Replies)
Discussion started by: Junaid Subhani
5 Replies
10. Shell Programming and Scripting
Hi
I keep getting the following error
sed: -e expression #1, char 32: unterminated `s' command
sed: -e expression #1, char 35: unterminated `s' command
sed: -e expression #1, char 35: unterminated `s' command
whenever I use the following bash script
#! /bin/bash... (2 Replies)
Discussion started by: spbr
2 Replies
LEARN ABOUT DEBIAN
shell-quote
SHELL-QUOTE(1p) User Contributed Perl Documentation SHELL-QUOTE(1p)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)