Creating textfile from arguments


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Creating textfile from arguments
# 1  
Old 08-29-2012
Creating textfile from arguments

Hi all

I'm new to this forum and I really hope someone can help me out with a (for you guys) fairly easy question.

I want to have a script that takes 1-14 arguments, all numbers 1-14, say

myscript 1 3 4 5 7

what the script shall do is basically generare a textfile that contains 16 instances of a string with each argument appended, e.g.

Code:
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp1
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp3
hejhopp4
...
etc

Does anyone have a clue?

Regards
Tobbe


Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.

Last edited by zaxxon; 08-29-2012 at 08:54 AM.. Reason: code tags
# 2  
Old 08-29-2012
Is this homework/classroom stuff?

Example with ksh as a start:
Code:
#!/usr/bin/ksh

STR=hejhopp
C=1
MAX=16

for E in $@; do
        while [ $C -le $MAX ]; do
                let C+=1
                print $STR$E
        done
        C=1
done

You can check the input with case/esac. Try it out and ask if you get stuck.
# 3  
Old 08-29-2012
With ksh93:
Code:
#!/usr/bin/ksh93
maxargs=14
strng=hejhopp
(( $# > maxargs )) && { echo "More than $maxargs arguments not allowed"; exit 2; }
for i in "$@"
do
 for((j=1;j<=16;j++))
 do
  print "$strng$i"
 done
done

# 4  
Old 08-29-2012
Hi again

Thanks a million for your input. And no, its not for school, I finished that 10 years ago.

I'm not used to scripting like this, that's the sad truth.

I realized that I need to alter the script a bit. When the argument is 10 or above, the string shall change from comp10 to comp1 as the output shall be (depending on the arguments) comp101, comp102, .... , comp110, comp111 etc.

I tried myself, see below (I used your code as base elixir_sinari)

Code:
#!/usr/bin/ksh93
maxargs=14
#strng=comp10
(( $# > maxargs )) && { echo "More than $maxargs arguments not allowed"; exit 2; }
for i in "$@"
 do
  for((j=1;j<=16;j++))
   do
    if [ ${i} < 10 ]
      then
      strng=comp10
      else
      strng=comp1
    fi
    printf "$strng$i"
    printf "\n"
   done
done

However, I get the following error:

Code:
...
compc13
myscript2: line 9: 10: No such file or directory
...

Sorry for being a total noob on this, but can anyone see what I'm doing wrong?
# 5  
Old 08-29-2012
Code:
#!/usr/bin/ksh93
maxargs=14
(( $# > maxargs )) && { echo "More than $maxargs arguments not allowed"; exit 2; }
for i in "$@"
 do
  if (( i < 10 ))
  then
   strng=comp10
  else
   strng=comp1
  fi
  for((j=1;j<=16;j++))
   do
    printf "$strng$i\n"
   done
done

# 6  
Old 08-29-2012
Hi

Thanks both of you again for your efforts. Now it works great!

Tobbe
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Variablecontent in a Textfile

I want to save a variablecontent in a Textfile. How can i do that? These works only with ls shell_exec("ls > text.txt");Please use code tags, thanks (2 Replies)
Discussion started by: Linuxmann
2 Replies

2. Shell Programming and Scripting

How to separate sorte different characters from one textfile and copy them in a new textfile?

My first post, so don't kill me :) Say i open some textfile with some example like this. on the table are handy, bread and wine Now i know exactly what is in and i want to separate and sorted it in terminal to an existing file with another 2 existing lines in like this: table plane ... (3 Replies)
Discussion started by: schwatter
3 Replies

3. Windows & DOS: Issues & Discussions

Use Textfile for variables ?

So... I have a text file that contains this (hex.txt): #8C7CA6 #6C70A5 #75777C #959A90 #7A7C6C #867DAB #80867E #8A87BD #6B71C6 #8F8A79 #9A9DCE #7E87D0 #69709E #82968C #7C8F81 #A3917B (5 Replies)
Discussion started by: pasc
5 Replies

4. Shell Programming and Scripting

Cut lines from and to in a textfile

i am having a text file like below rama surya pandu latha singh raja i want to get the new file from 3 to 5 i.e pandu latha singh please help (1 Reply)
Discussion started by: suryanarayana
1 Replies

5. Shell Programming and Scripting

Change value in a textFile

Hi everyone, I need to make a script to take three parameters: -> KEY -> NEW_VALUE -> FILE The FILE is a text plane file. The KEY is a variable to configure, for example: KEY1 = HOLA KEY2= HOLA KEY3=HELLO KEY4 =HOLA And the... (4 Replies)
Discussion started by: Xedrox
4 Replies

6. Shell Programming and Scripting

creating printf statement using user arguments

I am writing a script in bash and want to perform the operation I check number of arguments and make a print statement with the passes arguments If I pass 3 arguments I will do printf "$frmt" "$1" "$2" "$3"If I have 4 arguments I do printf "$frmt" "$1" "$2" "$3" "$4"etc (4 Replies)
Discussion started by: kristinu
4 Replies

7. Shell Programming and Scripting

grep with two arguments to arguments to surch for

Hello, is it possible to give grep two documents to surche for? like grep "test" /home/one.txt AND /home/two.txt ? thanks (1 Reply)
Discussion started by: Cybertron
1 Replies

8. Shell Programming and Scripting

Textfile lesson

Tag allerseits Ich habe ein umfangreiches Script. Darin möchte ich zu Beginn ein textfile lesen. Den ersten Satz. Dann kommen mehrere Instruktionen und dann soll wieder gelesen werden. Den zweiten Satz. Etc. Ich kann also das herkömmliche while read xyz / do ... done nicht benützen. ... (0 Replies)
Discussion started by: lazybaer
0 Replies

9. Shell Programming and Scripting

plugging out value from a textfile

Hi, need some help from all of you as i'm a beginner in shellscript. Currently i have a textfile(filename.txt) with the below content: TOTAL: 30 RECORDS: 300 anyone one know how do i plug out the value of 30 and put into a variable(var1) and 300 into another variable(var2)?I'm coding using... (7 Replies)
Discussion started by: snowfrost
7 Replies
Login or Register to Ask a Question