Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
10-24-2012, 08:19 AM
|
#1
|
LQ Newbie
Registered: Oct 2010
Posts: 28
Rep:
|
count characters
hi all,
i have a problem with my script, i want to know count a special character per line, for example in this line> 1/2/3/4/5 i want to know how many "/" is. in other way i have a text file that include just one line:
#cat mytextfile
1/2/3/4/5
i want to find a way to count how many / is in that text file.
tanx everyone.
|
|
|
10-24-2012, 08:38 AM
|
#2
|
Senior Member
Registered: Sep 2009
Location: Raleigh, NC
Distribution: Ubuntu, PopOS, Raspbian
Posts: 1,899
|
At first I was going to do it in awk. But then I kept it simple and used sed to strip all characters that aren't the special character you're looking for.
Code:
echo "1/2/3/4/5" | sed 's/[^/]//g' | wc -m
|
|
1 members found this post helpful.
|
10-24-2012, 08:48 AM
|
#3
|
LQ Veteran
Registered: Sep 2003
Posts: 10,532
|
Using grep and wc:
Code:
grep -o "/" mytextfile | wc -l
Code:
$ cat mytextfile
1/2/3/4/5
$ grep -o "/" mytextfile | wc -l
4
|
|
1 members found this post helpful.
|
10-24-2012, 09:55 AM
|
#4
|
LQ Newbie
Registered: Oct 2010
Posts: 28
Original Poster
Rep:
|
Quote:
Originally Posted by sag47
At first I was going to do it in awk. But then I kept it simple and used sed to strip all characters that aren't the special character you're looking for.
Code:
echo "1/2/3/4/5" | sed 's/[^/]//g' | wc -m
|
tanx for the answer, but i find a better way,
cat mytextfile | tr -cd "/" | wc -c
|
|
|
10-24-2012, 09:57 AM
|
#5
|
LQ Newbie
Registered: Oct 2010
Posts: 28
Original Poster
Rep:
|
Quote:
Originally Posted by druuna
Using grep and wc:
Code:
grep -o "/" mytextfile | wc -l
Code:
$ cat mytextfile
1/2/3/4/5
$ grep -o "/" mytextfile | wc -l
4
|
tanx, your way is useful too. 
|
|
|
10-24-2012, 10:15 AM
|
#6
|
LQ Guru
Registered: Sep 2009
Location: Perth
Distribution: Arch
Posts: 10,037
|
Code:
awk -F/ '{print NF-1}' file
|
|
|
All times are GMT -5. The time now is 06:50 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|