Programming :: Delete Trailing Slashes Using Bash On-board Means?
Dec 8, 2010
I prefer to delete trailing slahes from pathes. Until now I used sed:
Code: $ myPath=/home/ladygaga///
$ echo "$myPath" | sed 's//*$//'
/home/ladygaga I played around to accomplish the same with on-board means of bash without using sed, but for example this line only deletes one trailing slash:
Code: $ myPath=/home/ladygaga///
$ echo ${myPath%/*}
/home/ladygaga// Is there a way to delete trailing slahes with just on-board means of bash?
View 2 Replies
ADVERTISEMENT
Jan 9, 2011
My simple bash-script replaces --> by the HTML-entity for the right arrow. To be precise, it replaces --*> by → Until now, I used sed, for example:
Code: $ flight='AMS --> JFK'
$ echo "$flight" | sed -e 's/ --*> / → /g'
AMS → JFK With sed, -* matches zero or more dashes, because for sed the * is the Kleene Star matching zero or more instances of the previous element. So with sed, --*> matches exactly what I want:
Code:
->
-->
--->
---->
Because sed seems oversized for that task, I played around to accomplish the same with on-board means of bash without using sed. On first thought, this line looks like doing the same but it isn't:
Code: $ flight='AMS --> JFK'
$ echo "${flight// --*> / → }"
AMS → JFK As I recently learnt in this forum, this * isn't the Kleene Star. It is a multi-character wildcard matching any zero or more consecutive characters. So here, --*> matches:
Code:
->
-->
--->
---->
-<>
->>
-abc> And if you continue your flight to SEA, then the result is totally wrong because the * matches greedily:
Code: $ flight='AMS --> JFK --> SEA' $ echo "${flight// --*> / → }" AMS → SEA
The sed line above would produce the correct result and would match the dashes correctly.
View 3 Replies
View Related
Mar 26, 2010
I have a back-end server behind a proxy machine. I would like non-SSL requests to the proxy to be rewritten into HTTPS requests to the back-end server, while not screwing up URLs with missing or misplaced trailing URL slashes. So far, on the proxy side, I have this in a virtual host for port 80:
Code:
ReWriteEngine On
# trailing slash fix:
RewriteCond %{SERVER_NAME} my.proxy.com$ [NC]
RewriteCond %{REQUEST_FILENAME} -d
[Code]...
But adding anything else to the URL fails, as the back-end server name gets stuck into the proxied [URL]... The rewrite log seems okay, I think. So I guess this is failing at the reverse proxy rule? Where am I going wrong?
View 1 Replies
View Related
Jan 7, 2011
Usually if I have to replace a character in a string I used the sed /s/ command. However, I am having some difficulty in doing the same thing when I have the following string in a variable in my shell script and I need to replace all the forward slashes ("/") to backslashes ("").
For example, this is what I am doing:
Code:
Not sure how to escape the slashes in this case.
View 2 Replies
View Related
Feb 11, 2011
Lately I've been needing to delete new untracked files from my versioning system. Being in linux I use: hg status -un|xargs rm And it works nice, but when doing it in windows, hg status lists paths with backslash so that is where stuff goes wrong. So then I try: hg status -un|sed 's/\///g' ...but I get the error: sed: -e expression #1, char 8: unterminated `s' command
Then I try some ascii: `hg status -un|sed 's/o134/o57/g'`...that gets me: sed: -e expression #1, char 14: Trailing backslash And some scripting: hg status -un|sed 's/`echo `/`echo /`/g' ...that gets me: sed: -e expression #1, char 19: unknown option to `s'
I try all the last with any other characters and I get the expected output... so I'm completely lost. I have cygwin, of course, and I want to avoid using a file (that is what I've been doing).
View 2 Replies
View Related
Apr 9, 2011
I would like to delete a single line from a file that contains many lines passing through the same values as the two parameters. Again, I would like to delete a single line and not all those that contain parameters. How can I make bash?
View 14 Replies
View Related
Sep 16, 2010
the preceding and trailing spaces around the commas in my CSV without destroying my address field. I'm new to regex and sed so this is probably easy but I just can't do it without destroying the Address section. I'm using vanilla Linux and sed 4.1.3I'm willing to use any regex or even awk if needed.
Example:
I need this
randall , dean, 11111 , 1309 Hillside Ave., Warsaw, VA , 23591
[code]....
View 11 Replies
View Related
May 23, 2011
I would like to combine two arrays and delete duplicates that might occur. I tried to solve it like this:
Code:
combined=( "${results1[@]}" "${results2[@]}" )
printf "${combined[@]}" | sort -n | uniq
Example:
result1 (4 elements):
[Code]....
In my code printf seems to have a problem with elements that have the same letters but a space inbetween. For instance "new foo", "newfoo" are the same for printf
View 5 Replies
View Related
Jan 18, 2010
I have a file with lines that look like this:
Dev/7_Texas2004/4_Caves/page.htm
Dev/7_Texas2004/5_SanMarcos/page.htm
Dev/7_Texas2004/6_Austin/page.htm
And I'm trying to count the number of slashes in each line. I figured (with my limited knowledge of bash) that the best thing to use would be sed. So I ran this to print "not /": sed '!s////g' file # and eventually adding " | wc -m" to it. and I got the same result as if I ran cat, no modification at all:
[Code]...
View 7 Replies
View Related
Dec 12, 2010
How do I delete one of my posts?
View 6 Replies
View Related
Apr 14, 2011
I need to cross-compile some libs for using in a ARM11 board running Linux (at this time, 2.6.28, but I'll try update it... and for costs reason, maybe it turns on a ARM9 board). The libs are libfprint, libusb-1.0 (that is a requirement of libfprint), libSDL (and some of its extensions) and maybe libsqlite3. How I can make this, with the development files in the host machine (an Ubuntu 10.04 32bits machine) and the runtime files at the host ARM11 Board.
View 6 Replies
View Related
Aug 26, 2010
i wanna do somthing in this can any one help me how i have to start with linux and how to proside to develop some small applications its very much essential for me. give me a guide path with that i have to get things ASAP.
View 1 Replies
View Related
Feb 1, 2010
I'm trying to get sound to work on an embedded board. The boot says ALSA is present and sound chip is present. So I try to open the device with:
The hardware manufacturer assures me the device is hw:0,0 so I set device to:
This gives me:
So I'm presuming the advice that I use hw:0,0 must be wrong? So I need to find a way of working out what the device id is. I've tried default, no effect, then tried the command asoundconf list, which returns an error. I'm using a min linux build on an embedded system (busybox) so is there a way to find my sound device.
View 2 Replies
View Related
Apr 17, 2011
I want to build an object code for ARM at91rm9200 board from a Makefile using a crosscompiler.
View 4 Replies
View Related
Apr 2, 2010
what "Message too long" error returned by the function dn_expand means?
The function call I used is as follows:
dn_expand(poutput, poutput + output_space_used, *out_rr, output_qname, 255);
I assumed that the error was due to the difference between the 1st argument and 2nd argument, However, changing the difference to the accepted dns message size (512 bytes) or even to no difference at all did nothing to remove the error.
Further, I am trying to check the output after having first compressed a domain name using dn_comp into *out_rr. This function call is in order to check whether the compression is happening correctly.
View 4 Replies
View Related
Aug 1, 2010
I'm using gmake (v3.81) to build some c executables. As the first step in the process I run the files through a preprocessor (for embedded SQL). The preprocessor completes successfully, but the gmake reports an error and discontinues buiding the remaining dependencies...
make *** [myfile.c] Error 4
which (according to /usr/include/asm-generic/errno-base.h) means "interrupted System Call". My preprocessor doesn't raise any signals, so I'm not sure what's causing this error.
View 2 Replies
View Related
Aug 11, 2011
I am working with bash scripting and running into a weird issue where the trailing newline characters are being truncated.The file contents are something like:
Code:
# Catting the file shows the trailing
characters
cat /tmp/junk
first line
second line
[Code]...
Since I am working with config files, some of the applications/daemons fail to start if they fail to find trailing newline characters
View 4 Replies
View Related
Feb 4, 2011
I would like to know how do I print the line # in a script. My requirement is, I have a script which is about ~5000 lines long. If there are any errors happen I just exit. And I would like to add the line # of the script where the error happened.
View 3 Replies
View Related
Jan 24, 2010
simple bash code:
Code:
#!/bin/bash
trap "echo 'you got me'" SIGINT SIGTERM # to trap ctrl+c
echo "Press ctrl+c during 5 sec loop"
for ((i=0;i<5;i++)); do
[Code]...
How come code behaves normally and stops when ctrl+c signal is caught and resumes, but after I use at least one timeout read in the code it looks like, if signal is caught again it doesn't pause the execution but skips the loop. If you remove -t (timeout) option from the read, both loops look the same!
View 10 Replies
View Related
Mar 27, 2011
In a bash shell script, I want to do something like this:
Code:
if [[ $(ls -ld /some/dir/foo_* | wc -l) -gt 4 ]]; then
rm -rf first_match_of /some/dir/foo_*
[code]....
View 6 Replies
View Related
Jun 30, 2011
Is there a way to get the bash history to delete older entries that are identical to the new one?Say the bash history would look like this normally:
Code:
cd ~
ls -l
[code]...
View 4 Replies
View Related
Nov 26, 2008
I have a config file that contains:
my.config:
Code:
Now in my bash script, I want to get the output /home/user instead of $HOME once read. So far, I have managed to get the $HOME variable but I can't get it to echo the variable. All I get is the output $HOME.
Here is my parse_cmd script:
Code:
View 3 Replies
View Related
Jul 25, 2011
I have written quite a few separate bash & scripts and php scripts that up to now I have run from cron jobs. However I have to estimate how long each takes to run, before running the next and so it probably takes much longer than necessary to run them all. They have to run in order.
Now there are so many I am thinking it would be better to have a master bash script that would run one after the other, but I am not sure how to get the master script to wait before starting to run the next script. Is this possible and is there a command that will make the script wait between bash and php scripts , for them to finish, before running the next?
View 5 Replies
View Related
Jul 19, 2009
Anyone know what the extra . (dot) in the permissions field is in the output of ls -la in FC11? A permissions field is normally 10 bytes, whats with the dot, a man an info on ls caused nothing obvious to jump out at me. A eleven byte perm field now with a trailing dot insead of the normal ten byte field
[root@osprey mark]# uname -a
Linux osprey 2.6.29.5-191.fc11.i686.PAE #1 SMP Tue Jun 16 23:19:53 EDT 2009 i686 i686 i386 GNU/Linux
[root@osprey mark]# ls -la /
total 110
drwxr-xr-x. 23 root root 4096 2009-07-17 20:56 .
drwxr-xr-x. 23 root root 4096 2009-07-17 20:56 ..
-rw-r--r--. 1 root root 0 2009-07-17 20:56 .autofsck
[Code]...
View 3 Replies
View Related
Aug 16, 2011
I'm looking for a Bash script that will go into a list of directories and delete all but the four most recently created files.
How can I do this?
View 4 Replies
View Related
Jan 12, 2010
i want to delete some say 10 previous commands in bash shell!
View 3 Replies
View Related
May 11, 2011
I followed this tutorial to setup a mail server, followed it to the letter, double/triple/quadruple checked everything for human error, and I can't find anything.[URL].. What's happening is it seems that postfix is adding a trailing slash to usernames when it does the user lookup, so they don't exist and then fail. I've attached the log below.
Code:
May 11 01:06:27 vmail postfix/smtpd[1688]: connect from localhost[127.0.0.1]
May 11 01:06:55 vmail postfix/smtpd[1688]: 3372E982BC: client=localhost[127.0.0.1]
May 11 01:07:18 vmail postfix/cleanup[1691]: 3372E982BC: message-
[Code]...
View 1 Replies
View Related
Jan 9, 2010
I would like to get the filename (without extension) and the extension separately. The best solution I found so far is:
Let FILE="thefilenameofsomefilesfor_instance.txt"
Code:
NAME=`echo "$FILE" | cut -d'.' -f1`
EXTENSION=`echo "$FILE" | cut -d'.' -f2`
I think it would be better to count the len and remove 3 chars to right to get the extension, but it can be macintosh filenames with have 4 chars for extensions.
View 5 Replies
View Related
Jun 17, 2010
What i want to do is pretty simple.I want to uncomment every line that begins with "deb" (except for deb cdrom) in /etc/apt/sources.list.I know how to do this through system > administration > software sources.I know I can gksu gedit /etc/apt/sources.list.I'd rather not do it that way.I'd rather have a script do it. It's less work, less typing, less clicking, and would work the same on every ubuntu version.
View 8 Replies
View Related
Feb 15, 2011
I am administrating a lab in a university and every semester we need to delete all the home folders of the accounts for the next semester. I would like to make a bash script that does this automatically and having trouble with it. Note that I am writing my very first bash script. What I need to do is make a script to delete the following:
Delete everything in /home/$exp$num/$dir
when "exp" could be either "rt", "ic" or "sp".
"num" could run from 1(single digit) to 45 and dir is "profile" and "work".
This is what I tried to write:
Code:
#!/bin/sh
cd /home
for exp in "rt ic sp"
do
[code]....
What seems to be the problem is the reading of "$exp$num" as a joint expression.
View 4 Replies
View Related