Sponsored Content
Top Forums Shell Programming and Scripting randomly shuffle two text files the same way Post 302551840 by Corona688 on Wednesday 31st of August 2011 08:21:44 PM
Old 08-31-2011
Combine them into one line of two things with paste, shuffle them with shuf, separate them out into two files again. I've done it with awk but you could do it many ways.
Code:
$ paste -d : file1 file2 | shuf
five:5
two:2
one:1
four:4
three:3
$ paste -d ':' file1 file2 | shuf | awk -v FS=":" '{ print $1 > "out1" ; print $2 > "out2" }'

Your output files shouldn't be the same as your input files. If you need it to be, just rename the new files overtop of the old.

I didn't know about the shuf command. Thanks.
This User Gave Thanks to Corona688 For This Post:
 

8 More Discussions You Might Find Interesting

1. AIX

Randomly appearing control characters in text files

Hi, From some time, we have noticed that our ascii files have started corrupting due to the presence of some random control characters (^@, ^M, ^H, ^D). The characters appear randomly on any file after the process that creates the file finishes. If we rerun the process, the files re creates... (0 Replies)
Discussion started by: aakashahuja
0 Replies

2. UNIX for Dummies Questions & Answers

randomly renaming files

I have a directory of files that look like filename 001.ext, filename 002.ext, etc. I'd like to rename the files with unique random numbered names, so that the original filenames are stripped and the files are given a new, random number name. I'm not super new to UNIX, but I don't often use it for... (2 Replies)
Discussion started by: platz
2 Replies

3. Shell Programming and Scripting

shuffle pack of words in line

hello i just seeking for a simple way to make a shuffle by block of words in a line. no matter shell (sh/bash) or perl should be like this: the message (which is line of some file) splits to packs (packs are random 5-10 words in each) then making a new line inserting those packs in a random... (9 Replies)
Discussion started by: tip78
9 Replies

4. UNIX for Dummies Questions & Answers

How to randomly select lines from a text file

I have a text file with 1000 lines, I want to randomly select 200 lines from it and print them as output. How do I go about doing that? Thanks! (7 Replies)
Discussion started by: evelibertine
7 Replies

5. Shell Programming and Scripting

Randomly selecting sequences and generating specific output files

I have two files containing hundreds of different sequences with the same Identifiers (ID-001, ID-002, etc.,), something like this: Infile1: ID-001 ATGGGAGCGGGGGCGTCTGCCTTGAGGGGAGAGAAGCTAGATACA ID-002 ATGGGAGCGGGGGCGTCTGTTTTGAGGGGAGAGAAGCTAGATACA ID-003... (18 Replies)
Discussion started by: Xterra
18 Replies

6. Shell Programming and Scripting

How to shuffle odd and even columns?

Is there any way to place each even column name infront of its odd column using awk or others? input Ab name MGH26 B04 MGH26 B05 output name_Ab B04_MGH26 B05_MGH26 (4 Replies)
Discussion started by: quincyjones
4 Replies

7. Shell Programming and Scripting

Randomized shuffle words on each line

Hi Folks, I have a text file with a thousand lines consisting of words or a group of words separated by commas. I would like to randomize / shuffle the words on each line. Eg; file.txt Linux,Open,Free,Awesome,Best Things in Life,The Greatest Laptop,PC,Tablet,Home Computers,Digital... (2 Replies)
Discussion started by: martinsmith
2 Replies

8. UNIX for Beginners Questions & Answers

Logic shuffle

Hi, Is there any way I can shuffle the numbers randomly. I have been trying to google and I found lots of 'generator' but is it possible to find the background logic to create randomness? Thanks, (3 Replies)
Discussion started by: Indra2011
3 Replies
paste(1)						      General Commands Manual							  paste(1)

NAME
paste - merge same lines of several files or subsequent lines of one file SYNOPSIS
file1 file2 ... list file1 file2 ... list] file1 file2 ... DESCRIPTION
In the first two forms, concatenates corresponding lines of the given input files file1, file2, etc. It treats each file as a column or columns in a table and pastes them together horizontally (parallel merging). In other words, it is the horizontal counterpart of cat(1) which concatenates vertically; i.e., one file after the other. In the option form above, replaces the function of an older command with the same name by combining subsequent lines of the input file (serial merging). In all cases, lines are glued together with the tab char- acter, or with characters from an optionally specified list. Output is to standard output, so can be used as the start of a pipe, or as a filter if is used instead of a file name. recognizes the following options and command-line arguments: Without this option, the new-line characters of all but the last file (or last line in case of the option) are replaced by a tab character. This option allows replac- ing the tab character by one or more alternate characters (see below). list One or more characters immediately following replace the default tab as the line concatenation character. The list is used circularly; i.e., when exhausted, it is reused. In parallel merging (that is, no option), the lines from the last file are always terminated with a new-line character, not from the list. The list can contain the special escape sequences: (new-line), (tab), (backslash), and (empty string, not a null character). Quoting may be necessary if charac- ters have special meaning to the shell. (For example, to get one backslash, use ). Merge subsequent lines rather than one from each input file. Use tab for concatenation, unless a list is specified with the option. Regardless of the list, the very last character of the file is forced to be a new-line. Can be used in place of any file name to read a line from the standard input (there is no prompting). EXTERNAL INFLUENCES
Environment Variables determines the locale for the interpretation of text as single- and/or multi-byte characters. determines the language in which messages are displayed. If or is not specified in the environment or is set to the empty string, the value of is used as a default for each unspecified or empty variable. If is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of If any internationalization variable contains an invalid setting, behaves as if all internationalization variables are set to "C". See environ(5). International Code Set Support Single- and multi-byte character code sets are supported. RETURN VALUE
These commands return the following values upon completion: Completed successfully. An error occurred. EXAMPLES
List directory in one column: List directory in four columns Combine pairs of lines into lines Notes works similarly, but creates extra blanks, tabs and new-lines for a nice page layout. DIAGNOSTICS
Except for the option, no more than - 3 input files can be specified (see limits(5)). AUTHOR
was developed by OSF and HP. SEE ALSO
cut(1), grep(1), pr(1). STANDARDS CONFORMANCE
paste(1)
All times are GMT -4. The time now is 09:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy