01-15-2014
Quote:
Originally Posted by
Jotne
@Corona688
This does not work, it gives me:
[CODE]awk 'FNR==NR {a[$1]++;next} ($2 in a) {print $2}' 2&file
[1] 7183
awk: cmd. line:1: fatal: cannot open file `2' for reading (No such file or directory)
Well, it means what it says... There's no file named '2'. If you want to give it some other, more valid filename, you are free to do so.
It takes the & to mean 'run this command in background and take the text after as a new command'.
Quote:
I would like to substitute file file with some that returns file two or more in on go.
I do not understand this. If you want awk to read the file twice, you tell it the file twice; that's how it works. But I don't think your question is crossing the language barrier very well.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello ,
I am trying to print the footer of evry file in the given directory with xargs command like follows
ls -1 | xargs -I {} gzcat {} | tail -1
now problem with this is only last file foooter is getting printed as " | tail -1 " is getting executed for the last file.
I know this can... (4 Replies)
Discussion started by: nilesrex
4 Replies
2. Programming
Hi all,
I'm working with flex (version 2.5.4a) on GNU/linux. I used it to develop 4 scanner C files for matching different patterns within an input file. But the problem now on my hand is that I need to conditionally combine these. That is in main (placed in a separate C file other than the 4... (5 Replies)
Discussion started by: Rakesh Ranjan
5 Replies
3. Shell Programming and Scripting
I've got:
isql -U $USERID -S $SERVER -D $DATABASE -i inputfile.sql -o outputfile.txt
in inputfile I have:
go
sql#1
go
sql#2
go
sql#3
go
I also tried without "go" and with";" instead which did not work
SQL statements will work if I paste them directly into the script and use EOF
... (0 Replies)
Discussion started by: Cailet
0 Replies
4. Shell Programming and Scripting
Hi there,
I am trying to figure out a way to combine multiple sources with different data on a single file, and I am trying to find the best way to do it.
I have multiple files, let's say A, B, C and D. A has a field in common with B, B has a field in common with C, and C has a field in... (2 Replies)
Discussion started by: ppucci
2 Replies
5. Shell Programming and Scripting
Being new to this area .I have been assigned a task which i am unable to do . Can any one please help me .
Hi I have requirement where i have input file XYZ_111_999_YYYYMMDD_1.TXT and with header and series of Numbers and Footer.
I want to create a mutiple output files with each file having a... (2 Replies)
Discussion started by: bhargavkr
2 Replies
6. Shell Programming and Scripting
I have a file with lines something like.
......
123_start
......
.......
123_end
....
.....
456_start
......
.....
456_end
....
.....
789_start
....
....
789_end (6 Replies)
Discussion started by: abinash
6 Replies
7. Shell Programming and Scripting
Hi,
I'm working on a script which has to copy multiple files from one server to another server. The list of files that are to be copied is present in a file say input.txt.
vi input.txt
abc.c
welcome.c
new.c
welcome1.c
for ftp'ing a single file say 'new.c' the following code... (2 Replies)
Discussion started by: i.srini89
2 Replies
8. Shell Programming and Scripting
Hello,
I have a file called COMPLIST as follows that contains 4 digit numbers.0002
0003
0010
0013
0015
0016
0022
0023
0024
0025
0027
0030
0031
0032
0033
0035
0038
0041 (3 Replies)
Discussion started by: sph90457
3 Replies
9. Shell Programming and Scripting
Hello,
I have been working on script in which search and replace the multiple pattern.
1. update_params.sh read the multiple pattern from input file ParamMapping.txt(old_entry|New_entry) and passing this values one by one to change_text.sh
2. change_text.sh read... (0 Replies)
Discussion started by: ketanraut
0 Replies
10. Shell Programming and Scripting
GM,
I have an issue at work, which requires a simple solution. But, after multiple attempts, I have not been able to hit on the code needed.
I am assuming that sed, awk or even perl could do what I need.
I have an application that adds extra blank page feeds, for multiple reports, when... (7 Replies)
Discussion started by: jxfish2
7 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
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.16.3 2010-06-11 SHELL-QUOTE(1)