02-20-2015
Limiting the file count to four isn't that difficult, but I doubt you'll be too happy as not every aspect has been taken into account. What if the input has 10000 lines? Three files 1000 lines each, one with 7000?
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
I have a Variable Char field coming whose value looks like below
562432569856
I need to extract 2 characters from it till the end and put it elsewhere
say
56
24
32
56
98
56
in this case.
Any input is appreciated. (2 Replies)
Discussion started by: thumsup9
2 Replies
2. UNIX for Dummies Questions & Answers
I have a series of .txt files, that contain lines of text separated by the following string ====================
In some of the .txt files, the string ends with the word Document, leaving the string ==================Document.
I would like to be able to split any such line and move the word... (16 Replies)
Discussion started by: spindoctor
16 Replies
3. Shell Programming and Scripting
Hi,
I got a file which may have 100 - 500 rows with header and trailer... based on the total number of real rows ( excluding header and trailer) I want to break the file in 3 or 4 files ..
Coded like this .. but giving error in the AWK in 8th line of below code.
awk 'NR > 5 {print line}... (3 Replies)
Discussion started by: Vaddadi
3 Replies
4. Shell Programming and Scripting
My data is something like shown below.
date1 date2 aaa bbbb ccccc
date3 date4 dddd eeeeeee ffffffffff ggggg hh
I want the output like this
date1date2 aaa eeeeee
I serached in the forum but didn't find the exact matching solution. Please help. (7 Replies)
Discussion started by: rdhanek
7 Replies
5. Shell Programming and Scripting
Hi experts,
In the lines below I am trying to copy only the words which come after "//" into an array
short nloh; // Comments
int age; // Age of the person
Please help me in achieving this
After the code, the output of the array should
Comments
Age of the person (6 Replies)
Discussion started by: ramakanth_burra
6 Replies
6. Shell Programming and Scripting
hi
i have file with the format as below. header and associated company details
company,accno,accname,amount
abc,123,checking,100
abc,234,saving,200
company,accno,accname,amount
def,678,checking,100
def,222,saving,200
company,accno,accname,amount
dfdf,567,checking,100... (4 Replies)
Discussion started by: dsdev_123
4 Replies
7. Shell Programming and Scripting
Hello, i want to take a one word from my file.
-- myfile.txt --
test
blablabla
suPHP_ConfigPath /home/performe/etc
blablabla
etc. bla bla.
-- myfile.txt --
How can i take performe from this file ?
Thank you. (7 Replies)
Discussion started by: SAYGIN
7 Replies
8. Shell Programming and Scripting
HI All,
I have to split a xml file into multiple xml files and append it in another .xml file. for example below is a sample xml and using shell script i have to split it into three xml files and append all the three xmls in a .xml file. Can some one help plz.
eg:
<?xml version="1.0"?>... (4 Replies)
Discussion started by: ganesan kulasek
4 Replies
9. Shell Programming and Scripting
Hi,
I'm beginner in UNIX
I would like to split file in separate files depending on Pattern.
Input file looks like:-A
B
C
brfbeg
A
B
C
brfbeg
A
B
C
brfbeg
.
.
n so on (7 Replies)
Discussion started by: Rohit_Mokal
7 Replies
10. Shell Programming and Scripting
I have a source file where a record starts with # entry-id: followed by a number.
i want to move the record in file 1 iff the second row is
"dn: uid=.*,ou=perm,dc=mssb,dc=com"
and the record to file 2 if contents of second row anything else
# entry-id: 1
dn:... (6 Replies)
Discussion started by: r_t_1601
6 Replies
rl(1) User Commands rl(1)
NAME
rl - Randomize Lines.
SYNOPSIS
rl [OPTION]... [FILE]...
DESCRIPTION
rl reads lines from a input file or stdin, randomizes the lines and outputs a specified number of lines. It does this with only a single
pass over the input while trying to use as little memory as possible.
-c, --count=N
Select the number of lines to be returned in the output. If this argument is omitted all the lines in the file will be returned in
random order. If the input contains less lines than specified and the --reselect option below is not specified a warning is printed
and all lines are returned in random order.
-r, --reselect
When using this option a single line may be selected multiple times. The default behaviour is that any input line will only be
selected once. This option makes it possible to specify a --count option with more lines than the file actually holds.
-o, --output=FILE
Send randomized lines to FILE instead of stdout.
-d, --delimiter=DELIM
Use specified character as a "line" delimiter instead of the newline character.
-0, --null
Input lines are terminated by a null character. This option is useful to process the output of the GNU find -print0 option.
-n, --line-number
Output lines are numbered with the line number from the input file.
-q, --quiet, --silent
Be quiet about any errors or warnings.
-h, --help
Show short summary of options.
-v, --version
Show version of program.
EXAMPLES
Some simple demonstrations of how rl can help you do everyday tasks.
Play a random sound after 4 minutes (perfect for toast):
sleep 240 ; play `find /sounds -name '*.au' -print | rl --count=1`
Play the 15 most recent .mp3 files in random order.
ls -c *.mp3 | head -n 15 | rl | xargs --delimiter='
' play
Roll a dice:
seq 6 | rl --count 2
Roll a dice 1000 times and see which number comes up more often:
seq 6 | rl --reselect --count 1000 | sort | uniq -c | sort -n
Shuffle the words of a sentence:
echo -n "The rain in Spain stays mainly in the plain."
| rl --delimiter=' ';echo
Find all movies and play them in random order.
find . -name '*.avi' -print0 | rl -0 | xargs -n 1 -0 mplayer
Because -0 is used filenames with spaces (even newlines and other unusual characters) in them work.
BUGS
The program currently does not have very smart memory management. If you feed it huge files and expect it to fully randomize all lines it
will completely read the file in memory. If you specify the --count option it will only use the memory required for storing the specified
number of lines. Improvements on this area are on the TODO list.
The program uses the rand() system random function. This function returns a number between 0 and RAND_MAX, which may not be very large on
some systems. This will result in non-random results for files containing more lines than RAND_MAX.
Note that if you specify multiple input files they are randomized per file. This is a different result from when you cat all the files and
pipe the result into rl.
COPYRIGHT
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Arthur de Jong.
This is free software; see the license for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Version 0.2.7 Jul 2008 rl(1)