Sponsored Content
Top Forums Shell Programming and Scripting merging two .txt files by alternating x lines from file 1 and y lines from file2 Post 302525337 by ink_LE on Thursday 26th of May 2011 11:40:37 AM
Old 05-26-2011
Thank you so much! It now works perfectly!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Merging files with AWK filtering and counting lines

Hi there, I have a couple of files I need to merge. I can do a simple merge by concatenating them into one larger file. But then I need to filter the file to get a desired result. The output looks like this: TRNH 0000000010941 ORDH OADR OADR ORDL ENDT 1116399 000000003... (2 Replies)
Discussion started by: Meert
2 Replies

2. Shell Programming and Scripting

Urgent Need Help! Merging lines in .txt file

I need to write a script that reads through an input .txt file and replaces the end value with the end value of the next line for lines that have distance <=4000. The first label line is not actually in the input. In the below example, 3217 is the distance from the end of the first line to the... (12 Replies)
Discussion started by: awknerd
12 Replies

3. Shell Programming and Scripting

Merging lines in a file

Hi, I want to merge the lines starting with a comma symbol with the previous line of the file. Input : cat file.txt name1,name2 ,name3,name4 emp1,emp2,emp3 ,emp4 ,emp5 user1,user2 ,user3 Output name1,name2,name3,name4 emp1,emp2,emp3,emp4,emp5 (9 Replies)
Discussion started by: mohan_tuty
9 Replies

4. Shell Programming and Scripting

Matching lines across multiple csv files and merging a particular field

I have about 20 CSV's that all look like this: "","","","","","","","","","","","","","","",""What I've been told I need to produce is the exact same thing, but with each file now containing the start_code from every other file where the email matches. It doesn't matter if any of the other... (1 Reply)
Discussion started by: Demosthenes
1 Replies

5. Shell Programming and Scripting

sed to cp lines x->y from 1.txt into lines a->b in file2.txt

I have one base file, and multiple target files-- each have uniform line structure so no need to use grep to find things-- can just define sections by line number. My question is quite simple-- can I use sed to copy a defined block of lines (say lines 5-10) from filename1.txt to overwrite an... (3 Replies)
Discussion started by: czar21
3 Replies

6. UNIX for Dummies Questions & Answers

find lines in file1.txt not found in file2.txt memory problem

I have a diff command that does what I want but when comparing large text/log files, it uses up all the memory I have (sometimes over 8gig of memory) diff file1.txt file2.txt | grep '^<'| awk '{$1="";print $0}' | sed 's/^ *//' Is there a better more efficient way to find the lines in one file... (5 Replies)
Discussion started by: raptor25
5 Replies

7. Shell Programming and Scripting

Merging multiple files using lines from one file

I have been working of this script for a very long time and I have searched the internet for direction but I am stuck here. I have about 3000 files with two columns each. The length of each file is 50000. Each of these files is named this way b.4, b.5, b.6, b.7, b.8, b.9, b.10, b.11, b.12... (10 Replies)
Discussion started by: iconig
10 Replies

8. Shell Programming and Scripting

Merging multiple lines to columns with awk, while inserting commas for missing lines

Hello all, I have a large csv file where there are four types of rows I need to merge into one row per person, where there is a column for each possible code / type of row, even if that code/row isn't there for that person. In the csv, a person may be listed from one to four times... (9 Replies)
Discussion started by: RalphNY
9 Replies

9. UNIX for Beginners Questions & Answers

Merging specifc lines of three files into one?

Recall that nc-county-pop.dat has 100 lines, and each line corresponds to a county. The files girls.dat and boys.dat each has 50 lines. Assume that the girls come from the first 50 counties and each county has only one girl. That is the first girl comes from the first county, the second girl comes... (1 Reply)
Discussion started by: novicep11
1 Replies

10. Shell Programming and Scripting

Merging two files each contain 16 lakh lines on HP-UX 11.11 system

Hello All , I am trying to merge two files each contain 16 lakh lines ..My requirement is i have merge after every 14 lines of each file . Like from file1 14 lines then after after 14 lines form file2 ..so i wrote below script . It is working for small files ,but large files script not... (10 Replies)
Discussion started by: Phani369
10 Replies
DSYNC(1)							      Dovecot								  DSYNC(1)

NAME
dsync - Dovecot's mailbox synchronization utility SYNOPSIS
dsync [options] mirror location2 dsync [options] backup location2 DESCRIPTION
dsync is Dovecot's mailbox synchronization utility. It can be used for several different use cases: Two-way synchronization of mailboxes in different servers (via ssh(1)), creating backups of mails to a remote server, and convert mailboxes from/to different mailbox formats. The syncing is done as perfectly as possible: an IMAP or a POP3 client shouldn't be able to notice any differences between the two mail- boxes. Two-way syncing means that it's safe to do any kind of modifications in both sides, and dsync will merge the changes without losing any changes done on either side. This is possible because dsync can access Dovecot's index logs that keep track of changes. It's of course possible to have conflicts during merging, these are resolved in a safe way. See the dsync design document for more information. dsync uses the same configuration files as the rest of Dovecot (via doveconf binary). The entire configuration can be changed by giving -c parameter to another configuration file, or using -o parameter to override specific settings. When executing a remote dsync program it works the same way: it uses its own local configuration. dsync can be run completely standalone. It doesn't require any Dovecot server processes to be running, except when using -u parameter to do a userdb lookup from auth process. dsync can currently sync only one user at a time. If you want to dsync all users, you'll need to get a list of all users and execute dsync separately for each one. Any errors are written to stderr. OPTIONS
dsync recognizes the following command line options: -c config-file read configuration from the given config-file. By default /etc/dovecot/dovecot.conf will be used. -C alt_char Specifies an alter- native mailbox name character. If source and destination mailbox formats are different, it's possible that on one side there exists a mailbox name that isn't valid for the other side. These invalid mailbox names are fixed by replacing such invalid characters with the given alt_char. The default is '_'. -D Activates debug messages and makes dsync more verbose. -f Makes dsync run in "full sync" mode rather than "fast sync" mode. In fast sync mode dsync might skip syncing a mailbox, if both locations had modified it equally many times (i.e. highest-modseqs were equal), but with different changes. -m mailbox Specifies the mailbox that should be synchronized or from which mails should be converted. The default is to synchronize all respectively convert from all mailboxes. -o setting=value Overrides the configuration setting from /etc/dovecot/dovecot.conf and from the userdb with the given value. In order to override multiple settings, the -o option may be specified multiple times. -R Reverse backup direction, so mails in location2 are backed up to default mail location. -u user Specifies that the userdb lookup for the given user should be done and used to set up the environment (uid, gid, home, etc.). By default the system user's current environment will be used. -v Makes dsync more verbose. ARGUMENTS
location2 The first mail location is based on configuration (mail_location or userdb settings). It's also possible to override it by giving -o mail_location=mail_location setting. This parameter defines the other mail location that is used. If the location is on local filesystem, you can use a regular mail_location, such as maildir:/backup/user/Maildir If the location is on a remote server, dsync can ssh to it by giving host or user@host as the parameter. If user is specified, it's given as -u parameter to dsync, not to ssh. The ssh username is always the default. The final way to specify a location is to give a full command line or a path to a script that executes the dsync. For example: ssh mailuser@host dsync -u user COMMANDS
dsync provides the following commands: mirror Does a two-way synchronization between two mail locations. Changes in both locations are synchronized to the other one, without losing any changes made by either of them. Any potential UID conflicts are resolved by giving them new UIDs. backup Backup mails from default mail location to location2 (or vice versa, if -R parameter is given). No changes are ever done to the source location. Any changes done in destination are discarded. EXIT STATUS
dsync will exit with one of the following values: 0 Synchronization was done perfectly. 2 Synchronization was done without errors, but some changes couldn't be done, so the mailboxes aren't perfectly synchronized. Running dsync again usually fixes this. Typically this occurs for message modification sequences with newly created mailboxes. It can also occur if one of the mailboxes change during the syncing. 1, >2 Synchronization failed. EXAMPLE
MIRRORING Mirror mailboxes to a remote server. Any errors are written to stderr. dsync -u username mirror username@example.com If you need more complex parameters to ssh, you can use e.g.: dsync -u username mirror ssh -i id_dsa.dovecot mailuser@example.com dsync -u username CONVERTING Assuming that the mail_location setting in /etc/dovecot/conf.d/10-mail.conf is set to: mail_location = mdbox:~/mdbox, a logged in system user may convert her/his mails from its Maildir in her/his home directory to the mdbox mailbox format. The user has to execute the com- mand: dsync mirror maildir:~/Maildir If you want to do this without any downtime, you can do the conversion one user at a time. Initially: o Configuration uses mail_location = maildir:~/Maildir o Set up the possibility of doing per-user mail location using userdb extra fields. Then for each user: 1. Run dsync mirror once to do the initial conversion. 2. Run dsync mirror again, because the initial conversion could have taken a while and new changes could have occurred during it. This second time only applies changes, so it should be fast. 3. Update mail extra field in userdb to mdbox:~/mdbox. If you're using auth cache, you need to flush it. 4. Wait for a few seconds and then kill the user's all existing imap and pop3 sessions (that are still using maildir). 5. Run dsync mirror once more to apply final changes that were possibly done. After this there should be no changes to Maildir, because the user's mail location has been changed and all existing processes using it have been killed. Once all users have been converted, you can set the default mail_location to mdbox and remove the per-user mail locations from userdb. REPORTING BUGS
Report bugs, including doveconf -n output, to the Dovecot Mailing List <dovecot@dovecot.org>. Information about reporting bugs is avail- able at: http://dovecot.org/bugreport.html SEE ALSO
doveadm(1), doveadm-kick(1), doveconf(1), dovecot(1) Additional resources: dsync design http://wiki2.dovecot.org/Design/Dsync Dovecot v2.2 2011-01-16 DSYNC(1)
All times are GMT -4. The time now is 05:51 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy