Sponsored Content
Top Forums Shell Programming and Scripting Search for an undetermined number of spaces Post 303013655 by Don Cragun on Sunday 25th of February 2018 09:45:55 AM
Old 02-25-2018
Quote:
Originally Posted by bakunin
Just in case there are tabs:
Code:
awk '{gsub (/[<space><tab>]+/, " ")}1' file

Replace "<space>" and "<tab>" with literal space/tab characters when using this.

I hope this helps.

bakunin
If one doesn't want to use bakunin's suggestion because one is afraid the someone reading the code might not notice the literal <space> or literal <tab> in the ERE (and isn't willing to add a comment noting that the characters in that ERE are a literal <space> and <tab>), one could also use:
Code:
awk '{gsub (/[[:blank:]]+/, " ")}1' file

which does the same thing in most locales and is self-documenting. And, in locales where additional characters are members of the blank character class, you might also want this global substitution to produce replacements for them as well. If your code is likely to be used in locales like this, you should seriously consider whether you want to hard code these two characters or you want to use the character class definition.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search string with invariable spaces

I need to grep for pattern "enable_cal = true".The problem is that different file has different no of spaces in that string. for eg one file will have "enable_cal <space><space><space>=true" next file will have "enable_cal= <space><space>true" other one will have... (5 Replies)
Discussion started by: villain41
5 Replies

2. Shell Programming and Scripting

Split File of Number with spaces

How do i split a variable of numbers with spaces... for example echo "100 100 100 100" > temp.txt as the values can always change in temp.txt, i think it will be feasible to split the numbers in accordance to column. How is it possible to make it into $a $b $c $d? (3 Replies)
Discussion started by: dplate07
3 Replies

3. Shell Programming and Scripting

construct a string with X number of spaces

I'd like to create a variable with the value of X number of space( no Perl please), printf seems to work, but , in following example,10 spaces becomes 1 space when assinged to a variable, Why? other solutions are welcome. $printf "=%10s=\n" = = $var=$(printf "=%10s=\n") echo... (4 Replies)
Discussion started by: honglus
4 Replies

4. UNIX for Dummies Questions & Answers

grep any number of spaces

which one of the following is the correct expression to ignore line with multiple spaces after any string cat file | grep -v "xyz *$" or cat file | grep -v "xyz*$" do i need "*" to specify the sapce or " *" will do? (2 Replies)
Discussion started by: manishma71
2 Replies

5. Shell Programming and Scripting

determine the number of spaces

Here is a weird question :) i am trying to create a script written in bash that will create configuration files for nagios. As some of you aware is has to be written in the below format: define service{ option1 value1 option2 value2... (6 Replies)
Discussion started by: ppolianidis
6 Replies

6. Shell Programming and Scripting

search pattern that has spaces with nawk

Hi guys, I need a help ! I need do grab some string from file and then count n lines after that pattern. This is working fine, but my problem is that the string to be searched has spaces within, like an example : LINK COUNTERS what I am using is: nawk... (2 Replies)
Discussion started by: robdcb
2 Replies

7. Shell Programming and Scripting

Conduct a search or test -f over a path with spaces

I am organizing my music library on a NAS server. I want to print a list of all the directories that are missing the cover art (at least one or more jpeg file). I have successfully created a file with each line containing the path to each occurance of one or more .mp3 files. That path is also... (2 Replies)
Discussion started by: godfreydanials
2 Replies

8. AIX

Search a string having spaces

Hi I am looking to search a string having spaces in a directory for example : my string is "summer hot" my code :for i in `cat position__list.txt` do echo $i" : " `find . -mtime -6 | xargs grep -l ":83D:$i" | xargs ls -ltr|tail -1|awk '{ print $6 , $7 , $8, $9;... (6 Replies)
Discussion started by: wedng.bell
6 Replies

9. Shell Programming and Scripting

Print a specific number of spaces

i'm looking for a command that allows me to print a specific number of spaces which i will provide. something as simple as: spaces=4 printf " " * $spaces i'm looking for somethign that'll allow me to print a specific amount of spaces on a line. can awk be used for this? (4 Replies)
Discussion started by: SkySmart
4 Replies

10. Shell Programming and Scripting

Printing a specific number of spaces

when given a file name, im looking for the most efficient way to turn each letter of the file name into spaces. for instance, the way im thinking of going about this is this: MYFILE=check_disks.sh CHANUM=$(echo ${MYFILE} | awk '{ print length }') printf '%s\n' $CHANUM as you can see... (4 Replies)
Discussion started by: SkySmart
4 Replies
ISALPHA(3)						     Linux Programmer's Manual							ISALPHA(3)

NAME
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit - character classifi- cation routines SYNOPSIS
#include <ctype.h> int isalnum(int c); int isalpha(int c); int isascii(int c); int isblank(int c); int iscntrl(int c); int isdigit(int c); int isgraph(int c); int islower(int c); int isprint(int c); int ispunct(int c); int isspace(int c); int isupper(int c); int isxdigit(int c); DESCRIPTION
These functions check whether c, which must have the value of an unsigned char or EOF, falls into a certain character class according to the current locale. isalnum() checks for an alphanumeric character; it is equivalent to (isalpha(c) || isdigit(c)). isalpha() checks for an alphabetic character; in the standard "C" locale, it is equivalent to (isupper(c) || islower(c)). In some locales, there may be additional characters for which isalpha() is true--letters which are neither upper case nor lower case. isascii() checks whether c is a 7-bit unsigned char value that fits into the ASCII character set. This function is a BSD extension and is also an SVID extension. isblank() checks for a blank character; that is, a space or a tab. This function is a GNU extension. iscntrl() checks for a control character. isdigit() checks for a digit (0 through 9). isgraph() checks for any printable character except space. islower() checks for a lower-case character. isprint() checks for any printable character including space. ispunct() checks for any printable character which is not a space or an alphanumeric character. isspace() checks for white-space characters. In the "C" and "POSIX" locales, these are: space, form-feed ('f'), newline (' '), carriage return (' '), horizontal tab (' '), and vertical tab ('v'). isupper() checks for an uppercase letter. isxdigit() checks for a hexadecimal digits, i.e. one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F. RETURN VALUE
The values returned are nonzero if the character c falls into the tested class, and a zero value if not. CONFORMING TO
ANSI - C, BSD 4.3. isascii() is a BSD extension and is also an SVID extension. isblank() is a GNU extension. NOTE
The details of what characters belong into which class depend on the current locale. For example, isupper() will not recognize an A - umlaut as an uppercase letter in the default C locale. SEE ALSO
tolower(3), toupper(3), setlocale(3), ascii(7), locale(7) GNU
1995-09-02 ISALPHA(3)
All times are GMT -4. The time now is 03:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy