Adding user name to file, and then displaying new line number
Hi all - I'm completely stumped by a script I'm working on...
The short version is I have a file called 'lookup' and in it are hundreds of names (first and last). I have a script that basically allows the user to enter a name, and what I need to have happen is something like this:
Record <name> added at line 5.
so lookup looks like this:
User then adds 'Fred Flinstone' (sorry for the use of creative names...)
And it would come back (using the file above)
Record Fred Flinstone added at line 3
So basically (there's a lot of stuff snipped out obviously) but the script basically looks like this:
and there's where I'm stuck. My next line is something like this:
And that's it - I can search the lookup file using: nawk /$name/ lookup - but I can't figure out how to get the damned line number
Any help would be appreciated...
EDIT: Sorry, I forgot to add that I'm sorting the file by last names.... (that's the reason why - using the example above - 'fred flinstone' would go in at line 3 (obviously sorted file would have 'jane doe, john doe, fred flinstone, barney rubble, homer simpson' in that order...)
Last edited by Scrutinizer; 04-10-2016 at 11:40 AM..
Reason: code tags
EDIT: So this is a weird bug (sorta): I was using a test file (with made up names) and running this command against my file - and it appears to be matching either the first or last name, and if one of them match - it works...
ie.
So it found Destiny in both cases - even though the last name on one is Cat and the other is Dog. ie. it's not searching for the full name ... I'll keep toying around with it. But if someone sees a quick solution - I'll be back.
Moderator's Comments:
Please use code tags as required by forum rules!
Last edited by RudiC; 04-11-2016 at 03:39 AM..
Reason: Added code tags (again!)
why it deletes all the contents of the file when I add" > file" after sort? "sort -k2 file > file".If the name already exist then we dont add it. how should we do?Thank you!
why it deletes all the contents of the file when I add" > file" after sort? "sort -k2 file > file".If the name already exist then we dont add it. how should we do?Thank you!
If you're saying that only want to add the given name to your file (without checking to see whether or not that name was already in the file, AND you don't need the line where it was added, the way to do that would be:
and if you wanted to only add that name if it was not already in the file:
When you use the command line:
the shell sees the redirection (> file) and creates a file named file (destroying any contents that may have existed in that file) and then starts the sort utility. The sort utility will then open the file named as a command-line argument (in this case also named file which, after the shell has redirected the output, is now an empty file).
This User Gave Thanks to Don Cragun For This Post:
Hi all,
I have 20 files (file001.txt upto file020.txt) and I want to read them from 3rd line upto end of file (line 1002). But in the final file they should appear to start from line 1.
I need following kind of output in a single file:
Filename Line number 2ndcolumn 4thcolumn
I... (14 Replies)
Given a file like this:
abc
def
ghi
I need to get to
somestandardtext abc1 morestandardtext
somestandardtext def2 morestandardtext
somestandardtext ghi3 morestandardtext
Notice that in addition to the standard text there is the line number added in as well. What I conceived is... (4 Replies)
Hi
I want to delete a line from a txt file for which the line number is user input. Say when user selects 19, the 19th line would be deleted from the file. Can anyone please provide me with a sed one liner for the same... I tried sed -i. The interaction would be like this
Enter the line to... (1 Reply)
I have a text file that has data like:
Data "12345#22"
Fred
ID 12345
Age 45
Wilma
Dino
Data "123#22"
Tarzan
ID 123
Age 33
Jane
I need to figure out a way of adding 1,000,000 to the specific lines (always same format) in the file, so it becomes:
Data "1012345#22"
Fred
ID... (16 Replies)
Hello Everyone.
I am trying to display contains of a file from a specific line to a specific line(let say, from line number 3 to line number 5). For this I got the shell script as shown below:
if ; then
if ; then
tail +$1 $3 | head -n $2
else
... (5 Replies)
Hello
Wondering if anybody may be able to advise on how I can filter the contents of the following file:
<object_name>-<version> <Instance>
GM_GUI_code.fmb-4 1
GM_GUI_code.fmb-5 1
GM_GUI_code.fmx-4 ... (7 Replies)
I having file below o/p
ibapp311dg,,20480,s,,,,,,,,,
test,,20480,s,,,,,,,,,
test,,20480,s,,,,,,,,,
ibapp311dg,,20480,s,,,,,,,,,
I want to to chk unique word line in the first field seperated by , as well as addup corressponding the number in field for each unique word like
ibapp311dg... (8 Replies)
Hi,
I am using below command to display the number of line, but its returning no of lines along with file name.
But i want only no of line in the variable p.
Please help me on this?
p=`wc -l "text file"`
echo "$p" (6 Replies)
Hi,
I have a huge file & I want to add a specific text in column. But I want to add this text from a specific line number to a specific line number & another text in to another range of line numbers.
To be more specific: lets say my file has 1000 lines & 4 Columns. I want to add text "Hello"... (2 Replies)