|
learn3r
|
learn3r
|
how can i echo the list that is saved txt file for sample list.txt
|
|
|
|
Solo1
|
Solo1
|
/help /filter That is probabley the fastest way.
|
|
|
|
learn3r
|
learn3r
|
works properly using uhm how can it echo like the list contains the ff: list1 , list2 , list3 , list4
|
|
|
|
schaefer31
|
schaefer31
|
alias -l list.filter {
if ($1) %list.filter = $iif(%list.filter,$v1 $+ $chr(44) $1,$1)
}
alias _list {
set %list.filter
filter -k list.txt list.filter
echo -ag the list contains the ff:
echo -ag %list.filter
unset %list.filter
} /_list Note that it's subject to the line too long error. It also disregards blank lines in the file.
|
|
|
|
Joined: Oct 2004
Posts: 8,061
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,061 |
Alternatively, you can also use /play with an alias to prevent issues with the line being too long. Or, just use a WHILE loop with $read or $fread.
|
|
|
|
schaefer31
|
schaefer31
|
Right, but he said he wanted, at least this is how I understood it, the text from a file which was in this format:
line 1 line 2 line 3
to be echo'd in this format: line 1, line 2, line 3. If he wanted to just echo all of the lines, line by line then loadbuf (as I brought up already) is the easiest way to go if you ask me.
|
|
|
|
Joined: Sep 2005
Posts: 2,630
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,630 |
This one shouldn't have a problem with the line too long error.
alias viewfile {
if (!$isfile($1-)) {
echo -abcfilrt Info * /viewfile: No such file ' $+ $1-'
return
}
bread $qt($1-) 0 $file($1-) &file
breplace &file 10 44
var %position = 1, %size = $bvar(&file,0)
if ($bvar(&file,%size) == 44) { bcopy -c &file 1 &file 1 $calc(%size - 1) }
while (%position < %size) {
echo -a $remove($bvar(&file,$+(%position,-,$calc(%position + 900))).text,$cr)
inc %position 900
}
}
/viewfile <file>
|
|
|
|
Joined: Oct 2004
Posts: 8,061
Hoopy frood
|
Hoopy frood
Joined: Oct 2004
Posts: 8,061 |
I was just giving an alternative method that can be used to combine the lines as requested (multiple lines onto one line with commas). That can be done with the methods I gave. Even if one way may be easier, showing alternate methods helps people not only to learn, but also to possibly do something a little different that may not be possible with the easiest method.
|
|
|
|
Joined: Jan 2003
Posts: 2,125
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,125 |
* qwerty reminds hixxy of $bvar(&file,%position,900).text
|
|
|
|
Joined: Sep 2005
Posts: 2,630
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,630 |
I didn't know there was one. Thanks 
alias viewfile {
if (!$isfile($1-)) {
echo -abcfilrt Info * /viewfile: No such file ' $+ $1-'
return
}
bread $qt($1-) 0 $file($1-) &file
breplace &file 10 44
var %position = 1, %size = $bvar(&file,0)
if ($bvar(&file,%size) == 44) { bcopy -c &file 1 &file 1 $calc(%size - 1) }
while (%position < %size) {
echo -a $remove($bvar(&file,%position,899).text,$cr)
inc %position 900
}
}
Thanks again q
Last edited by hixxy; 11/04/07 07:43 PM.
|
|
|
|
Joined: Jan 2003
Posts: 2,125
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,125 |
The 3rd parameter is length, not end position. What I wrote before should work here.
Actually either 899 in $bvar() or inc %position 901
Last edited by qwerty; 11/04/07 07:42 PM.
|
|
|
|
learn3r
|
learn3r
|
It now works great... thanks one more question. if writing on a text is /write line.txt $1- how to delete a certain text on the txt file? sample: i echoed it and i want to delete line3
|
|
|
|
Joined: Sep 2005
Posts: 2,630
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,630 |
/write -dl<N> <file>
Looking at /help /write would tell you this.
|
|
|
|
Joined: Jan 2003
Posts: 2,125
Hoopy frood
|
Hoopy frood
Joined: Jan 2003
Posts: 2,125 |
I was better off without the edit :P The correct number would be 900, not sure how I came up with 899.
|
|
|
|
learn3r
|
learn3r
|
the -l is the line right? but what if the line aint specified like putting the code into a menu?
|
|
|
|
Joined: Aug 2004
Posts: 7,168
Hoopy frood
|
Hoopy frood
Joined: Aug 2004
Posts: 7,168 |
You have to get the line number in some manner in order to ensure that you get the correct line, otherwise you'll end up deleting either the wrong line, or the last line.
If you're using $read in your script, then you can use $readn to return the line (storing it in a variable if you can't do the deletion immediately)
|
|
|
|
learn3r
|
learn3r
|
how can i do this on a menu?
|
|
|
|
Joined: Sep 2005
Posts: 2,630
Hoopy frood
|
Hoopy frood
Joined: Sep 2005
Posts: 2,630 |
It depends what you want to delete. The computer isn't psychic and neither are we, tell us exactly what you're wanting to delete from the file.
|
|
|
|
learn3r
|
learn3r
|
how to delete a certain text on the txt file? sample: i echoed it and i want to delete three
|
|
|
|
|