Take out File-B contents from File-A within Vi/ViM


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Take out File-B contents from File-A within Vi/ViM
# 1  
Old 12-02-2013
Take out File-B contents from File-A within Vi/ViM

So I have a list of account names in one file (File-A). I have an account History file (File-B) of accounts I want to take out of File-A. I wish to not include some accounts which were added in the past month.

It would be nice (i.e. less time spent editing) to edit out contents of File-B while using Vi on File-A. If anyone has any suggestions on how to do this quickly that would be great.

So far I've used grep -n, diff -a but you still have to append to other files or create new files. I know Vi is very powerful but very strange to use. It would be nice to be within one file and just use the other file as a reference.

---------- Post updated at 12:24 PM ---------- Previous update was at 12:20 PM ----------

I mean I want to execute a UNIX command within Vi (i.e. use !)
# 2  
Old 12-02-2013
Assuming you have input like this:-
Code:
$ cat File-A
12300 Target account 1
12321 Target account 2
12344 Target account 3
12345 Account to exclude 1
22344 Target account 4
22346 Account to exclude 2
32347 Account to exclude 3
52344 Target account 5

$ cat File-B
12345
22346
32347

.... and you want the records of File-B that are not in the reference of File-A, you could simply use grep with the -vf options thus:-
Code:
grep -vf File-B File-A > File-C

You can then rename File-C to File-A. Make sure you do not try to do it all in one step like this:-
Code:
grep -vf File-B File-A > File-A

.... or you will just end up with an empty File-A


If you worry that you might exclude too many records, e.g. one that has the string 12345 in the middle somewhere, change your File-B to have a leading ^ and a trailing space (or whatever delimiter you use in File-A)


I hope that this helps, or have I missed the point completely?

Apologies if I have.


Robin
Liverpool/Blackburn
UK
This User Gave Thanks to rbatte1 For This Post:
# 3  
Old 12-02-2013
No no You haven't missed the point at all. It's actually what I tried to use to get the initial output.

Yeah, I guess I should have told you what the file contents are. Basically both files have a list of 8 character (or less) usernames, one on each new line. File-A has a list which might/might-not include some usernames which I don't want to include. The ones I don't want to include are in File-B. So basically I want to remove any possible similarities between the two files from File-A.

However, I would like to be able to accomplish this from within Vi if possible. But your idea is great too.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Output file name and file contents of multiple files to a single file

I am trying to consolidate multiple information files (<hostname>.Linux.nfslist) into one file so that I can import it into Excel. I can get the file contents with cat *Linux.nfslist >> nfslist.txt. I need each line prefaced with the hostname. I am unsure how to do this. --- Post updated at... (5 Replies)
Discussion started by: Kentlee65
5 Replies

2. Shell Programming and Scripting

ksh Script, Reading A File, Grepping A File Contents In Another File

So I'm stumped. First... APOLOGIES... my work is offline in an office that has zero internet connectivity, as required by our client. If need be, I could print out my script attempts and retype them here. But on the off chance... here goes. I have a text file (file_source) of terms, each line... (3 Replies)
Discussion started by: Brusimm
3 Replies

3. Shell Programming and Scripting

Shell script (sh file) logic to compare contents of one file with another file and output to file

Shell script logic Hi I have 2 input files like with file 1 content as (file1) "BRGTEST-242" a.txt "BRGTEST-240" a.txt "BRGTEST-219" e.txt File 2 contents as fle(2) "BRGTEST-244" a.txt "BRGTEST-244" b.txt "BRGTEST-231" c.txt "BRGTEST-231" d.txt "BRGTEST-221" e.txt I want to get... (22 Replies)
Discussion started by: pottic
22 Replies

4. UNIX for Advanced & Expert Users

Using vim to view the contents of a directory

When I use this command: vi /home/bob/.vimI expect to see. " ============================================================================ " Netrw Directory Listing (netrw v149) " /home/bob/.vim " Sorted by name " Sort sequence:... (4 Replies)
Discussion started by: cokedude
4 Replies

5. Shell Programming and Scripting

Folder contents getting appended as strings while redirecting file contents to a variable

Hi one of the output of the command is as below # sed -n "/CCM-ResourceHealthCheck:/,/---------/{/CCM-ResourceHealthCheck:/d;/---------/d;p;}" Automation.OutputZ$zoneCounter | sed 's/$/<br>/' Resource List : <br> *************************** 1. row ***************************<br> ... (2 Replies)
Discussion started by: vivek d r
2 Replies

6. Shell Programming and Scripting

Replace partial contents of file with contents read from other file

Hi, I am facing issue while reading data from a file in UNIX. my requirement is to compare two files and for the text pattern matching in the 1st file, replace the contents in second file by the contents of first file from start to the end and write the contents to thrid file. i am able to... (2 Replies)
Discussion started by: seeki
2 Replies

7. Shell Programming and Scripting

I want to delete the contents of a file which are matching with contents of other file

Hi, I want to delete the contents of a file which are matching with contents of other file in shell scripting. Ex. file1 sheel,sumit,1,2,3,4,5,6,7,8 sumit,rana,2,3,4,5,6,7,8,9 grade,pass,2,3,4,5,6,232,1,1 name,sur,33,1,4,12,3,5,6,8 sheel,pass,2,3,4,5,6,232,1,1 File2... (3 Replies)
Discussion started by: ranasheel2000
3 Replies

8. UNIX for Dummies Questions & Answers

Help with searching for a file in a directory and copying the contents of that file in a new file

Hi guys, I am a newbie here :wall: I need a script that can search for a file in a directory and copy the contents of that file in a new file. Please help me. :confused: Thanks in advance~ (6 Replies)
Discussion started by: zel2zel
6 Replies

9. Solaris

Very Importan - Vim Settings - Error while opening a File using vim

I downloaded vim.7.2 and compiled the vim source . Added the vim binary path to PATH (Because iam not the root of the box) when i load the file using vim it throws me an error Error detected while processing /home2/e3003091/.vimrc: line 2: E185: Cannot find color scheme darkblue line... (0 Replies)
Discussion started by: girija
0 Replies

10. UNIX for Dummies Questions & Answers

compare 2 file contents , if same delete 2nd file contents

Give shell script....which takes two file names as input and compares the contents, is both are same delete second file's contents..... I try with "diff"...... but confusion how to use "diff" with if ---else Thanking you (5 Replies)
Discussion started by: krishnampkkm
5 Replies
Login or Register to Ask a Question