Visit Our UNIX and Linux User Community


shuffle pack of words in line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting shuffle pack of words in line
# 1  
Old 09-27-2009
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 order. then goes to next line in file
simple as that Smilie
tip78
# 2  
Old 09-27-2009
This requirement does not seem to bear any significance in the real world.

Is this a homework question?
# 3  
Old 09-27-2009
no it's a real task
i'm just feeding antispam bot with tons of text
tip78
# 4  
Old 09-27-2009
Quote:
Originally Posted by tip78
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 order. then goes to next line in file
simple as that Smilie

What does the input file look like?

What should the output look like?
# 5  
Old 09-28-2009
example:
input file is full of lines such 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 order. then goes to next line in file

output file should be:
making a new line inserting those order. then goes to next line in file splits to packs (packs are random the message (which is line of some file) 5-10 words in each) then packs in a random

then next line in those file is another line of words

---------- Post updated at 10:40 AM ---------- Previous update was at 10:38 AM ----------

it should be pretty easy on perl with hes regexp and arrays
but should be not hard with awk too. maybe 1 line even
atm i'm trying to make this script on shell by making array and then take 5-10 random array elements and make a new message but this will be alot of code
tip78
# 6  
Old 09-28-2009

Code:
randomize()
{
  set -f
  set -- $1
  set +f
  while [ $# -ge 5 ]
  do
    pack+=( "$1 $2 $3 $4 $5" )
    shift 5
  done

  if [ $# -gt 0 ]
  then
    pack+=( "$*" )
  fi

  while [ ${#pack[@]} -gt 0 ]
  do
    n=$(( $RANDOM % ${#pack[@]} ))
    printf "%s " "${pack[$n]}"
    unset pack[$n]
    pack=( "${pack[@]}" )
  done
  echo
}

# 7  
Old 09-28-2009
I can think of at least one important site who would have a fit at this thread.

The Spamhaus Project

Hopefully the attempt to crack the spam filters will result in a block.

Previous Thread | Next Thread
Test Your Knowledge in Computers #6
Difficulty: Easy
Unix was first released more than 10 years before Windows.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace particular words in file based on if finds another words in that line

Hi All, I need one help to replace particular words in file based on if finds another words in that file . i.e. my self is peter@king. i am staying at north sydney. we all are peter@king. How to replace peter to sham if it finds @king in any line of that file. Please help me... (8 Replies)
Discussion started by: Rajib Podder
8 Replies

2. 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

3. 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

4. Shell Programming and Scripting

Search words in multiple file line by line

Hi All I have to search servers name say like 1000+ "unique names" line by line in child.txt files in another file that is a master file where all server present say "master.txt",if child.txt's server name matches with master files then it print yes else no with server name. (4 Replies)
Discussion started by: netdbaind
4 Replies

5. Shell Programming and Scripting

get few words from same line

Hello all i tried awk , cut but i think something missing i have this line @@XYMONDCHK-V1|.acklist.|developer_instead|rendy_google_yagom|1323977582|1323979382|1323979382|1|admin|test case i want cut some words to be in new line like this... (6 Replies)
Discussion started by: mogabr
6 Replies

6. Shell Programming and Scripting

Copying x words from end of line to specific location in same line

Hello all i know it is pretty hard one but you will manage it all after noticing and calculating i find a rhythm for the file i want to edit to copy the last 12 characters in line but the problem is to add after first 25 characters in same line in other way too copy the last 12 characters... (10 Replies)
Discussion started by: princesasa
10 Replies

7. Shell Programming and Scripting

How to print the words in the same line with space or to the predefined line?

HI, cat test abc echo "def" >> test output is cat test abc def the needed output is cat test abc def and so on (5 Replies)
Discussion started by: jobycxa
5 Replies

8. Shell Programming and Scripting

print only last two words of a line

can u help me out to print last two words of each sentence of a file. for example. contents of input file: i love songs my favourite songs sent songs all kind good buddy Ouput file should contain: love songs favourite songs sent all kind good buddy (5 Replies)
Discussion started by: pradeepreddy
5 Replies

9. Shell Programming and Scripting

how to get line number of different words if exists in same line

I have some txt files. I have to create another text file which contains the portion starting from the format "Date Sex Address" to the end of the file. While using grep -n on Date it also gives me the previous line containg Date. and also Date may be DATE in some files. My file is like this... (10 Replies)
Discussion started by: Amiya Rath
10 Replies

10. Shell Programming and Scripting

seperating the words from a line??

The line is like this +abc+def+mgh+ddsdsd+sa i.e. words seperated by +. There is a plus in the beginning. i want to conver this line to abc, def, mgh, ddsdsd, sa please provide the logic in the form of a shell script Thanks in advance (3 Replies)
Discussion started by: skyineyes
3 Replies

Featured Tech Videos