---
title: "Hur räknar jag antalet tecken på en inparameter?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/linux-bsd/103396-hur-räknar-jag-antalet-tecken-på-en-inparameter"
topic: "Linux & BSD"
topic_url: "https://www.webforum.nu/amne/linux-bsd"
author: "nkrantz"
published: "2004-05-11T19:45:35.000Z"
updated: "2004-05-13T14:53:49.000Z"
replies: 7
views: 349
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/linux-bsd/103396-hur-räknar-jag-antalet-tecken-på-en-inparameter"
---

# Hur räknar jag antalet tecken på en inparameter?

## #1 — nkrantz, 2004-05-11T19:45Z

Börjar bli smått galen på detta, får det inte alls att funka. Har en komandofil som jag vill skicka med ett argument till. I filen vill jag räkna antalet tecken i det som kommer in. Kör Bourne shell.

Tycker det borde funka med 

```
LENGTH=`$1 | wc -m`
echo $LENGTH
```

 Men det vill den inte.

Hur göra?

// Nippe

Permalänk: https://www.webforum.nu/p/103396

## #2 — spango, 2004-05-11T21:28Z

Vad är -m för flagga? Det borde väl ändå vara -c? Och så måste du ge $1 som indata till wc, annars går det ju inte att pipa. Således:

```
LENGTH=`echo -n "$1"|wc -c`
```

\-n gör att echo inte ger nån avslutande newline, vilket skulle leda till att wc verkade ge ett tecken för mycket.

Permalänk: https://www.webforum.nu/p/1344713

## #3 — nkrantz, 2004-05-11T21:46Z

Man har ju en del att lära när det gäller unix-programmering verkar det som. Tack spango!

> Vad är -m för flagga?

\-m    Count characters

// Nippe

Permalänk: https://www.webforum.nu/p/1344719

## #4 — nkrantz, 2004-05-11T21:52Z

Fast den koden jag fick av dig returnerar 7 när jag skickar in 123 Kan det stämma?

// Nippe

Permalänk: https://www.webforum.nu/p/1344724

## #5 — PeW, 2004-05-13T05:56Z

Men nu tolkas $1 \| wc -m som att $1 är ett kommando. Ifall du vill räkna tecken i $1 kan du peta in ett echo före. Dvs:
echo $1 \| wc -m

R-\>  Såg att nu att spango redan föreslagit det.  Ser oxå att nkratz ändå inte får det att fungera, vilket är märkligt. Kanske en 'fnutt' som hamnat fel?

Permalänk: https://www.webforum.nu/p/1345271

## #6 — GunnarD, 2004-05-13T06:19Z

> **nkrantz skrev:**
>
> Fast den koden jag fick av dig returnerar 7 när jag skickar in 123 Kan det stämma?

Det är inte så att du kör på ett system som använder Unicode, då tar varje tecken upp 2 bytes, iofs så borde du då hamna på 6 istället för 7.

Permalänk: https://www.webforum.nu/p/1345278

## #7 — PeW, 2004-05-13T08:58Z

Du skulle iofs även kunna testa:

```
LENGTH=$(echo  $1 | wc -m)
echo $LENGHT
```

Båda varianterna fungerar ivf för mig  :)

Permalänk: https://www.webforum.nu/p/1345349

## #8 — nkrantz, 2004-05-13T14:53Z

Tackar, jag löste det genom att dra bort 4 från LENGTH variabeln istället ;) Kanske inte så proffsigt, men det funkar ju, hehe

Permalänk: https://www.webforum.nu/p/1345581

---

Tråden på webben: https://www.webforum.nu/amne/linux-bsd/103396-hur-räknar-jag-antalet-tecken-på-en-inparameter
