M4 quoting drives me crazy


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting M4 quoting drives me crazy
# 1  
Old 05-26-2006
M4 quoting drives me crazy

Hi,

I have trouble with quotations of the M4 preprocessor.
I want to write a basic makro that removes all spaces and newlines at the end and at the beginning of a string.
I tried this:
Code:
define(`TRIM_END', `patsubst(`$1', `\(\\n\| \)*$', `')')
define(`TRIM', `patsubst(`TRIM_END(`$1')', `^\(\\n\| \)*', `')')

But when I call it with
Code:
TRIM(`               (d,b),c \n    ')

only the spaces and newlines at the end get removed.

Any help is welcome,

Florian
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unary Operator Expected ---drives me crazy

Hi i get this code in my shell script for shinken : kind_fan() { oid_fan_count=".1.3.6.1.4.1.1211.1.15.4.5.0" SNMPGETCMD="${SNMPGET} -Ovq ${oid_fan_count}" fancount=`${SNMPGETCMD}` verbose "command=${SNMPGETCMD}" "result=${fancount}" i=1 ... (3 Replies)
Discussion started by: martin24
3 Replies

2. What is on Your Mind?

Here's To The Crazy One

Please excuse my indulgence. Thank you MG Siegler and Steve Jurvetson. But most importantly, thank you Steve Jobs. 8rwsuXHA7RA The world has lost a genius. (1 Reply)
Discussion started by: Scott
1 Replies

3. Homework & Coursework Questions

Crazy Dots

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Create a script called DOTS that will display the horizontal or vertical number of dots if the first argument... (3 Replies)
Discussion started by: pchelpmtl
3 Replies

4. Shell Programming and Scripting

Finger has gone crazy

Two things : On the first place i am really desperate, on the second i am about to throw my laptop away to the recycle bin in a while. Ok now that i expressed my feeling let me describe you this mad situation. Code: print $1; ("finger -m " $1 "| head -1") | getline userinfo print... (6 Replies)
Discussion started by: beatblaster666
6 Replies

5. Shell Programming and Scripting

grep -E drives me crazy

Hi there, I'm new here. I registered my self today with this board because I hope to get some help before I'll become a slavering maniac. I'm really desperate, since I'm trying for hours(really!) to let grep search a pattern that goes about 2 lines. The pattern is as follows: Handle... (6 Replies)
Discussion started by: darkelf
6 Replies

6. What is on Your Mind?

crazy dreams..

well, Wine is simply amazing.. I love it. the filesystems are great too -- never having to defragment, and not slowing down in time. I love the power of BASH. iptables.. but.. I had a vision. a crazy dream. what if, we could develop an installation system for Linux.. working pretty much... (3 Replies)
Discussion started by: ialoq
3 Replies

7. Shell Programming and Scripting

ftp going crazy

Dear Friends, I am having a crazy issue with ftp. I am doing 'mput' of 4 files (z1, z2, z3, z4) as below. But ftp transfers only every alternative file !! - ie; If I do mput z* for above, it sends only z1 and z3. Note that all the files are same and I tried this for several dummy files. All... (3 Replies)
Discussion started by: yoursdivu
3 Replies

8. Shell Programming and Scripting

how floppy disks, CDs and flash drives (pen drives) are accessed in UNIX

hi how floppy disks, CDs and flash drives (pen drives) are accessed in UNIX? thanks (0 Replies)
Discussion started by: nokia1100
0 Replies

9. Shell Programming and Scripting

going crazy with test???

oK, i know for sure that code = Y and var = N but no matter what this always prints ignore, never valid??????? if test "$code"="$var" ... (2 Replies)
Discussion started by: mich_elle00
2 Replies

10. UNIX for Dummies Questions & Answers

Oh no!! crazy script

Hi Could be stupid, but I can figure out... I have a script that downloads a file from a http server ( virus definitions file ). The thing is that when I run it from the console (bash) works fine, but when I put it in the root's cron it doesn't, and it generates a core file. example: ... (8 Replies)
Discussion started by: piltrafa
8 Replies
Login or Register to Ask a Question
TRIM(3) 								 1								   TRIM(3)

trim - Strip whitespace (or other characters) from the beginning and end of a string

SYNOPSIS
string trim (string $str, [string $character_mask = " 0r B"]) DESCRIPTION
This function returns a string with whitespace stripped from the beginning and end of $str. Without the second parameter, trim(3) will strip these characters: o " " (ASCII 32 ( 0x20)), an ordinary space. o " " (ASCII 9 ( 0x09)), a tab. o " " (ASCII 10 ( 0x0A)), a new line (line feed). o " " (ASCII 13 ( 0x0D)), a carriage return. o "" (ASCII 0 ( 0x00)), the NUL-byte. o "x0B" (ASCII 11 ( 0x0B)), a vertical tab. PARAMETERS
o $str - The string that will be trimmed. o $character_mask - Optionally, the stripped characters can also be specified using the $character_mask parameter. Simply list all characters that you want to be stripped. With .. you can specify a range of characters. RETURN VALUES
The trimmed string. EXAMPLES
Example #1 Usage example of trim(3) <?php $text = " These are a few words :) ... "; $binary = "x09Example stringx0A"; $hello = "Hello World"; var_dump($text, $binary, $hello); print " "; $trimmed = trim($text); var_dump($trimmed); $trimmed = trim($text, " ."); var_dump($trimmed); $trimmed = trim($hello, "Hdle"); var_dump($trimmed); $trimmed = trim($hello, 'HdWr'); var_dump($trimmed); // trim the ASCII control characters at the beginning and end of $binary // (from 0 to 31 inclusive) $clean = trim($binary, "x00..x1F"); var_dump($clean); ?> The above example will output: string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) ..." string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string" Example #2 Trimming array values with trim(3) <?php function trim_value(&$value) { $value = trim($value); } $fruit = array('apple','banana ', ' cranberry '); var_dump($fruit); array_walk($fruit, 'trim_value'); var_dump($fruit); ?> The above example will output: array(3) { [0]=> string(5) "apple" [1]=> string(7) "banana " [2]=> string(11) " cranberry " } array(3) { [0]=> string(5) "apple" [1]=> string(6) "banana" [2]=> string(9) "cranberry" } NOTES
Note Possible gotcha: removing middle characters Because trim(3) trims characters from the beginning and end of a string, it may be confusing when characters are (or are not) removed from the middle. trim('abc', 'bad') removes both 'a' and 'b' because it trims 'a' thus moving 'b' to the beginning to also be trimmed. So, this is why it "works" whereas trim('abc', 'b') seemingly does not. SEE ALSO
ltrim(3), rtrim(3), str_replace(3). PHP Documentation Group TRIM(3)