11-05-2012
Quote:
Originally Posted by
elixir_sinari
The code you've provided does what it's supposed to do.
First of all, you are opening the file myfile, reading it completely and then closing the associated filehandle, once for each line in the file dummy_file.
For every line from dummy_file in which the 2nd field $F[1] (split on white-space using the -a run-time switch) matches the pattern patt anchored at the end, the first element of the list slice (split(" ", $i))[0], obtained by splitting the line from myfile on white-space, is displayed.
What exactly are you trying to do? Please elaborate with input and output samples.
Thank you, but the dummy file is just an empty file to fulfill or complete the syntax (else Perl reads from stdin). The actual file in action is "myfile" where I am looping over its contents by reading from the file handle 'F'. The white space splitting is done on the myfile's contents and not of the dummy file.
Lets say, my input is, myfile's contents:
aa bb cc
1a 2a 3a
I would like to get the output as:
aa
where 'bb' is the pattern to be matched.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
I would like my code to be able to print out the whole line if 1st field has a dot in the number. Sample input and expected output given below.
My AWK code is below but it can;t work, can any expert help me ?
Thanks in advance.
{if ($1 ~ /*\.*/) { print $0 }}
Input:
... (2 Replies)
Discussion started by: Raynon
2 Replies
2. Shell Programming and Scripting
Howdy.
I know this is most likely possible using sed or awk or grep, most likely a combination of them together, but how would one go about running a grep like command on a file where you only try to match your pattern to the second field in a line, space delimited?
Example:
You are... (3 Replies)
Discussion started by: LordJezoX
3 Replies
3. Shell Programming and Scripting
hi
i have file as below , i want to add duplicate records like bell_bb to one record with valuve as 15 ( addition of both )
any oneline awk script to achive this ?
header 0
CAMPAIGN_NAME 1
Bell_BB 14
Bell_MONTHLY 803
SOLO_UNBEATABLE 644
Bell_BB 1
Bell_MONTHLY 25
SOLO_UNBEATABLE... (4 Replies)
Discussion started by: raghavendra.cse
4 Replies
4. Shell Programming and Scripting
Hi all,
I got several lines line this
a b c d e 1 e
a 1 c d e 3 f
a b c 1 e 8 h
a b c d e 1 w
a 1 c d e 2 w
a b c d e 1 t
a b c d e 7 4
How can I print the line if 1 is the field one before the last field?
Basicly this 2 field ?
a b c d e 1 e
a b c d e 1 t
The file I got is... (7 Replies)
Discussion started by: stinkefisch
7 Replies
5. Shell Programming and Scripting
Trying to sum field #6 when field #2 matches string as follows:
Input data:
2010-09-18-20.24.44.206117 UOWEXEC db2bp DB2XYZ hostname 1
2010-09-18-20.24.44.206117 UOWWAIT db2bp DB2XYZ hostname ... (3 Replies)
Discussion started by: ux4me
3 Replies
6. Shell Programming and Scripting
First, thanks for the help in previous posts... couldn't have gotten where I am now without it!
So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following:
If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies
7. Shell Programming and Scripting
Version: AIX 6.1 (korn shell)
In the below output, the field with the heading 'Address' has some names like
hwproc214-priv1.gnas.wrd.netwhich are only partially displayed.
$ netstat -i
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
en2 1500 link#2 ... (3 Replies)
Discussion started by: polavan
3 Replies
8. UNIX for Dummies Questions & Answers
Hi !
I have a tab-delimited file, file.tab:
Column1 Column2 Column3
aaaaaaaaaa bbtomatoesbbbbbb cccccccccc
ddddddddd eeeeappleseeeeeeeee ffffffffffffff
ggggggggg hhhhhhtomatoeshhh iiiiiiiiiiiiiiii
... (18 Replies)
Discussion started by: lucasvs
18 Replies
9. UNIX for Dummies Questions & Answers
Within AWK, how do you display a field of NR? Here's my code:
awk '(NR>1) && (P1=$1-w)>=100000 {print "increase of" " " P1*.0000179," " "kW at" " " 'NR*60/431900' " " "minutes" "\n" "change from" " " 'NR-10($1)' " " "kW to" " " 'NR+70($1)' "\n"}{w=$1}' filename
I can change NR and print... (3 Replies)
Discussion started by: markymarkg123
3 Replies
10. Shell Programming and Scripting
Hi,
Need to replace last field in a file(/etc/passwd) ,if first filed matches with particular username.
Scenario:
cat testfor1
deekshi:x:7082:7082::/home/deekshi:/bin/bash
harini1:x:7083:7083::/home/harini1:/bin/bash
Here,if first field contains "deekshi", then i should replace... (4 Replies)
Discussion started by: Sumanthsv
4 Replies
LEARN ABOUT DEBIAN
msguntypot
MSGUNTYPOT(1) User Contributed Perl Documentation MSGUNTYPOT(1)
NAME
msguntypot - update PO files when a typo is fixed in POT file
SYNOPSIS
msguntypot -o old_pot -n new_pot pofiles ...
DESCRIPTION
When you fix a trivial error which surely doesn't affect translations (e.g. a typo) in a POT file, you should unfuzzy the corresponding
msgstr in the translated PO files to avoid so extra work to the translators.
This task is difficult and error prone when done manually, and this tool is there to help doing so correctly. You just need to provide the
two versions of the POT file: before the edition and after as marked in the above synopsis, and it all becomes automatic.
HOW TO USE IT
In short, when you discover a typo in one of your [english] message, do the following:
- Regenerate your POT and PO files.
make -C po/ update-po # for message program translations
debconf-updatepo # for debconf translations
po4a po4a.conf # for po4a based documentation translations
or something else, depending on your project's building settings. You know how to make sure your POT an PO files are uptodate, don't
you??
- Make a copy of your POT file.
cp myfile.pot myfile.pot.orig
- Make a copy of all your files.
mkdir po_fridge; cp *.po po_fridge
- Fix your typo.
$EDITOR the_file_in_which_there_is_a_typo
- Regenerate your POT and PO files.
See above.
At this point, the typo fix fuzzied all the translations, and this unfortunate change is the only one between the PO files of your main
directory and the one from the fridge. Here is how to solve this.
- Discard fuzzy translation, restore the ones from the fridge.
cp po_fridge/*.po .
- Manually merge the PO files with the new POT file, but taking the useless fuzzy into account.
msguntypot -o myfile.pot.orig -n myfile.pot *.po
- Cleanups.
rm -rf myfile.pot.orig po_fridge
You're done. The typo was eradicated from msgstr of both your POT and PO files, and the PO files were not fuzzyied in the process. Your
translators love you already.
SEE ALSO
Despite its name, this tool is not part of the gettext tool suite. It is instead part of po4a. More precisely, it's a random Perl script
using the fine po4a modules. For more information about po4a, please see:
po4a(7)
AUTHORS
Martin Quinson (mquinson#debian,org)
COPYRIGHT AND LICENSE
Copyright 2005 by SPI, inc.
This program is free software; you may redistribute it and/or modify it under the terms of GPL (see the COPYING file).
perl v5.14.2 2012-05-17 MSGUNTYPOT(1)