08-20-2018
As has been noted before, the sample files you provided in post #1 in this thread do not test any of your requirements. All of the lines in your second sample file have a field #2 value that matches a value found in your first sample file. And, all lines in your second sample file have exactly 64 pipe symbols (so there is never any need to remove any pipe symbols) to achieve your goal. Using your sample input files, your second sample input file is identical to the output you say you want.
You say that the code you have shown us in post #9 in this thread works until now. That means that something has changed recently and that it no longer does what you want it to do. What has changed? In what way does it fail to produce the output you want?
I note that the awk in your inner loop redirects its standard output to the same file to which the outer loop redirects its standard output. That would usually have the effect of throwing away everything written to that file except for the output produced by the last invocation of awk and the last invocation of sed.
Please give us two small sample input files that actually test the features you want your code to provide and also give us a sample output file that is the exact output you want from those sample input files.
I think I have a fairly simple awk script that does what you want, but with no way to test it, I'm not sure that I have understood your requirements. Also, it assumes that the IDs found in your first file can be found in the second field of your second input file (as shown in your sample input files in post #1 in this thread). Is this a valid assumption, or does the code you want need to look for those IDs in every field in your second input file?
10 More Discussions You Might Find Interesting
1. HP-UX
For counting the occurences of specific character in the file
I am issuing the command
grep -o 'character' filename | wc -w
It works in other shells but not in HP-UX as there is no option -o for grep.
What do I do now? (9 Replies)
Discussion started by: superprogrammer
9 Replies
2. Shell Programming and Scripting
I'm trying to count the number of 2 specific characters in a very large file. I'd like to avoid using gsub because its taking too long.
I was thinking something like:
awk '-F' { t += NF - 1 } END {print t}' infile > outfile
which isn't working
Any ideas would be great. (3 Replies)
Discussion started by: dcfargo
3 Replies
3. Shell Programming and Scripting
I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (2 Replies)
Discussion started by: manaswinig
2 Replies
4. Shell Programming and Scripting
I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (1 Reply)
Discussion started by: manaswinig
1 Replies
5. Shell Programming and Scripting
Hi,
I need to add Pipe (|) at 5th and 18th position of all records a file. How can I do this?
I tried to add it at 5th position using the below code. It didnt work. Please help!!!
awk '{substr($0,5,1) ~ /|/}{print}' $input_file > $temp_file (1 Reply)
Discussion started by: gpaulose
1 Replies
6. Shell Programming and Scripting
I am trying to use sed to replace specific characters at a specific position in the file with a different value... can this be done?
Example:
File:
A0199999123
A0199999124
A0199999125
Need to replace 99999 in positions 3-7 with 88888.
Any help is appreciated. (5 Replies)
Discussion started by: programmer22
5 Replies
7. UNIX for Advanced & Expert Users
Hi,
I need help regarding counting specific word or character per line and validate it against a specific number i.e 10. And if number of character equals the specific number then that line will be part of the output.
Specific number = 6
Specific word or char = ||
Sample data:... (1 Reply)
Discussion started by: janzper
1 Replies
8. Shell Programming and Scripting
I'm looking for what I hope might be a one liner along these lines:
sed '/a line with more than 3 pipes in it/d'
I know how to get the pipe count in a string and store it in a variable, but I'm greedy enough to hope that it's possible via regex in the /.../d context. Am I asking too much? ... (5 Replies)
Discussion started by: tiggyboo
5 Replies
9. Shell Programming and Scripting
Hi, im still new in unix.
i want to ask how to delete character on specific position in line, lets say i want to remove 5 character from position 1000, so characters from position 1000-1005 will be deleted.
i found this sed command can delete 4 characters from position 10, but i dont know if... (7 Replies)
Discussion started by: bluesue
7 Replies
10. Post Here to Contact Site Administrators and Moderators
In file, we have millions of records each of 1000 in length. And at specific position say 800 there is a space, we need to replace it with Character X if the ID in that row starts with 123.
So far i have used the below which is replacing space at that position to X but its not checking for... (3 Replies)
Discussion started by: Jagmeet Singh
3 Replies
LEARN ABOUT DEBIAN
bnstat
BNSTAT(1) BNETD User's Manual BNSTAT(1)
NAME
bnstat - Battle.net statisics client
SYNOPSIS
bnstat [options] [servername [serverport]]
DESCRIPTION
bnstat is a simple Battle.net client emulator that can be used to gather player statistics. It is also compatible with FSGS servers, but
has difficulty with real Battle.net servers.
If no servername is specified, localhost is assumed. If no serverport is specified, 6112 is assumed. If no player is specified on the
command line, bnstat(1) will connect to the server and prompt for one from stdin. All avaliable statistics for the emulated client type
are formatted and displayed on stdout.
OPTIONS
-b Causes bnstat to emulate a Brood Wars client.
--client
Causes bnstat to emulate a specific client. The following client tags are recognized: DRTL DSHR STAR SSHR SEXP W2BN. There are
short options which may be used instead for the common clients.
--bnetd
Also attempt to gather bnetd(1) specific information.
-d Causes bnstat to emulate a Diablo client.
--fsgs Also attempt to gather FSGS specific information.
-h --help --usage
Print usage information and exit.
-k --cdkey
Causes bnstat to report an alternate key to the bnetd(1) server.
-o --owner
Causes bnstat to report an alternate owner to the bnetd(1) server.
-p --player
Gather statistics only for the specified player and then exit. This also avoids using login and terminal functions allowing it to
be used in shell scripts.
-s Causes bnstat to emulate a Starcraft client.
-v --version
Print its version number and exit.
-w Causes bnstat to emulate a Warcraft II BNE client.
NOTES
The current version is available with the bnetd distribution at:
http://www.bnetd.org/
BUGS
This program assumes that the terminal will move to the beginning of the current line when the carriage return character (^M) is printed.
It also assumes the backspace character (^H) will move one column to the left that character printed after that will replace those already
on the screen.
The terminal settings are not consulted for keybindings. The following are assumed:
^H delete the character to the left of the cursor
^J accept current line
^M (return)
accept current line
^T transpose the last two characters
^W delete word to the left of the cursor
^U delete the whole input line
^[ (escape)
cancel the current input line
^? (delete)
delete the character to the left of the cursor
SEE ALSO
bnetd(1)
AUTHOR
Ross Combs (ross@bnetd.org)
BNETD
11 June, 2000 BNSTAT(1)