|
| Bash script - string kommandoer ? Fra : Lars P. Magnussen |
Dato : 25-07-06 09:38 |
|
System Debian Sarge, bash
Jeg ønsker at gemme en år-ugekode streng i en fil for senere at kunne bruge
til at danne en sti.
WeekNr=$(date +%Y%V)
echo $WeekNr > $WeekF
# Læs strengen
read WeekNrFromFile < $WeekF
# Så langt virker det
Nu vil jeg så godt checke at strengen har rigtig længde og også checke nogle
at karaktererne.
På div. web sider om bash har jeg set beskrivelse af strengbehandling, fx.
dette, men det virker ikke (giver fejlmelding).
str=test
# længde af streng
echo $(#str) # giver en tom linie
#uddrag en substring
echo $(#str:2) # giver en fejl - line 1: str:2: command not found
Ud af de mange websider / bøger om bash, hvad kan anbefales ?
Mvh
Lars P. Magnussen
| |
Mogens Kjaer (25-07-2006)
| Kommentar Fra : Mogens Kjaer |
Dato : 25-07-06 10:16 |
|
Lars P. Magnussen wrote:
> echo $(#str) # giver en tom linie
Brug Tuborg
$ echo ${#str}
4
>
> #uddrag en substring
> echo $(#str:2) # giver en fejl - line 1: str:2: command not found
$ echo ${str:2}
st
Mogens
--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk
| |
Rene Joergensen (25-07-2006)
| Kommentar Fra : Rene Joergensen |
Dato : 25-07-06 10:19 |
|
Lars P. Magnussen <nix_spam_lpm@magnatek.nejtak> wrote:
> echo $(#str) # giver en tom linie
Som Mogens skriver, brug Tuborg istedet
> Ud af de mange websider / bøger om bash, hvad kan anbefales ?
man bash forklarede mig ihvertfald hvad din fejl var.
--
-René
| |
Kent Friis (25-07-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-07-06 11:18 |
|
Den Tue, 25 Jul 2006 10:37:49 +0200 skrev Lars P. Magnussen:
>
> Nu vil jeg så godt checke at strengen har rigtig længde og også checke nogle
> at karaktererne.
Karakterer er noget man får i folkeskolen. "Characters" hedder "tegn"
på dansk - eller i dette tilfælde kan "cifre" bruges.
> På div. web sider om bash har jeg set beskrivelse af strengbehandling, fx.
> dette, men det virker ikke (giver fejlmelding).
>
> str=test
> # længde af streng
> echo $(#str) # giver en tom linie
Dem har du vist allerede fået svar på. Men når du også vil checke
tegnene, så vil jeg foreslå grep i stedet for. Så kan du checke både
længden og samtlige tegn på en gang, fx:
if echo "$WeekNr" | grep -qE "^20[0-9]{2}(0[1-9]|[1-4][0-9]|5[0-3])$"
then
echo ok
else
echo forkert
fi
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Lars P. Magnussen (25-07-2006)
| Kommentar Fra : Lars P. Magnussen |
Dato : 25-07-06 12:55 |
|
>
> Karakterer er noget man får i folkeskolen. "Characters" hedder "tegn"
> på dansk - eller i dette tilfælde kan "cifre" bruges.
>
Ja, det er jo rart en gang imellem at bliver gjort opmærksom på hvordan man
får forplumret det dansle sprog ved at beskæftige sig med div. compilere
(som vel så hedder oversættere ?)
Mvh
Lars P. Magnussen
| |
Kent Friis (25-07-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-07-06 20:19 |
|
Den Tue, 25 Jul 2006 13:54:34 +0200 skrev Lars P. Magnussen:
>>
>> Karakterer er noget man får i folkeskolen. "Characters" hedder "tegn"
>> på dansk - eller i dette tilfælde kan "cifre" bruges.
>>
> Ja, det er jo rart en gang imellem at bliver gjort opmærksom på hvordan man
> får forplumret det dansle sprog ved at beskæftige sig med div. compilere
> (som vel så hedder oversættere ?)
"Compiler" gør ikke noget, det er der ingen der bliver forvirret over.
Det er først når man begynder at bruge et ord der betyder noget helt
andet på dansk, at det går rigtig galt.
Er oversættere egentlig ikke sådan nogen der sidder med en bog
og en skrivemaskine?
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Klaus Alexander Seis~ (25-07-2006)
| Kommentar Fra : Klaus Alexander Seis~ |
Dato : 25-07-06 14:11 |
|
Kent Friis skrev:
> if echo "$WeekNr" | grep -qE "^20[0-9]{2}(0[1-9]|[1-4][0-9]|5[0-3])$"
> then
> echo ok
> else
> echo forkert
> fi
Eller uden grep:
#v+
case "${UgeNr}" in
20[0-9][0-9]0[1-9] | 20[0-9][0-9][1-4][0-9] | 20[0-9][0-9]5[0-3] )
echo ok
;;
* )
echo forkert
;;
esac
#v-
Mvh,
--
Klaus Alexander Seistrup
Copenhagen, Denmark
http://pnx.dk/
| |
Per Riber (25-07-2006)
| Kommentar Fra : Per Riber |
Dato : 25-07-06 19:15 |
| | |
Kent Friis (25-07-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-07-06 20:22 |
|
Den Tue, 25 Jul 2006 20:15:26 +0200 skrev Per Riber:
> Kent Friis skrev:
>
>> Dem har du vist allerede fået svar på. Men når du også vil checke
>> tegnene, så vil jeg foreslå grep i stedet for. Så kan du checke både
>
> En check er noget helt andet - tjek selv her:
Men nu stod der jo ikke "check", men derimod "checke".
> http://www.dsn.dk/cgi-bin/ordbog/ronet?S.x=46&S.y=11&M=1&P=check
Den side nævner intet om "checke".
:-þ
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Andreas Plesner Jaco~ (26-07-2006)
| Kommentar Fra : Andreas Plesner Jaco~ |
Dato : 26-07-06 13:42 |
| | |
Lars P. Magnussen (25-07-2006)
| Kommentar Fra : Lars P. Magnussen |
Dato : 25-07-06 12:58 |
|
Tak for indlæggene.
Selv om jeg også har kigget i man bash, fandt jeg ikke tuborg, som altså kan
bruges til andet end at drikke i varmen
Mvh
Lars P. Magnussen
| |
Kent Friis (25-07-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-07-06 20:21 |
|
Den Tue, 25 Jul 2006 13:57:34 +0200 skrev Lars P. Magnussen:
> Tak for indlæggene.
> Selv om jeg også har kigget i man bash, fandt jeg ikke tuborg, som altså kan
> bruges til andet end at drikke i varmen
BASH(1) BASH(1)
${#parameter}
The length in characters of the value of parameter
is substituted. If parameter is * or @, the value
substituted is the number of positional parameters.
If parameter is an array name subscripted by * or
@, the value substituted is the number of elements
in the array.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Christian E. Lysel (25-07-2006)
| Kommentar Fra : Christian E. Lysel |
Dato : 25-07-06 19:55 |
|
On Tue, 2006-07-25 at 10:37 +0200, Lars P. Magnussen wrote:
> Ud af de mange websider / bøger om bash, hvad kan anbefales ?
Læs "man bash" helt igennem 3 gange.
Det virkede for mig.
| |
Kent Friis (25-07-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-07-06 20:23 |
|
Den Tue, 25 Jul 2006 20:54:40 +0200 skrev Christian E. Lysel:
> On Tue, 2006-07-25 at 10:37 +0200, Lars P. Magnussen wrote:
>> Ud af de mange websider / bøger om bash, hvad kan anbefales ?
>
> Læs "man bash" helt igennem 3 gange.
Er du gal mand. Jeg har ikke engang læst det hele endnu, selvom jeg
har rodet med *nix siden 1992 og Linux/Bash siden 1996.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Christian E. Lysel (25-07-2006)
| Kommentar Fra : Christian E. Lysel |
Dato : 25-07-06 22:01 |
|
On Tue, 2006-07-25 at 19:23 +0000, Kent Friis wrote:
> Er du gal mand.
Nej, det tror jeg ikke.
Under mit studie, fandt jeg ud af det var en god
ide at læse op, da "den der shell" så meget praktisk ud.
Jeg har ikke fortrudt det siden.
| |
Kent Friis (25-07-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-07-06 22:56 |
|
Den Tue, 25 Jul 2006 23:00:53 +0200 skrev Christian E. Lysel:
> On Tue, 2006-07-25 at 19:23 +0000, Kent Friis wrote:
>> Er du gal mand.
>
> Nej, det tror jeg ikke.
>
> Under mit studie, fandt jeg ud af det var en god
> ide at læse op, da "den der shell" så meget praktisk ud.
>
> Jeg har ikke fortrudt det siden.
Jeg klarer mig med "hmm, hvordan gør man nu lige det her... man bash,
søg".
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
ST (25-07-2006)
| Kommentar Fra : ST |
Dato : 25-07-06 23:12 |
|
On Tue, 25 Jul 2006 21:56:13 +0000, Kent Friis wrote:
> Den Tue, 25 Jul 2006 23:00:53 +0200 skrev Christian E. Lysel:
>> On Tue, 2006-07-25 at 19:23 +0000, Kent Friis wrote:
>>> Er du gal mand.
>>
>> Nej, det tror jeg ikke.
>>
>> Under mit studie, fandt jeg ud af det var en god
>> ide at læse op, da "den der shell" så meget praktisk ud.
>>
>> Jeg har ikke fortrudt det siden.
>
> Jeg klarer mig med "hmm, hvordan gør man nu lige det her... man bash,
> søg".
>
> Mvh
> Kent
Tja, det kunne jo være rart hvis man bare lige kunne sætte sig og læse
alt det om PHP, Perl og Bash og så kunne man klare det.
Jeg tager det også som det kommer, visse opgaver er Perl scripts god til,
andre klare Bash scripts gode til.
Alt til sin tid, jeg bruger hverken Perl eller Bash i mit normale arbejde.
Jeg arbejder i en Windows dagligdag i et større dansk IT firma.
Mvh
Torben
| |
|
|