Sponsored Content
Top Forums Shell Programming and Scripting Complex string operation (awk, sed, other?) Post 302784517 by usshadowop on Friday 22nd of March 2013 11:33:33 AM
Old 03-22-2013
Complex string operation (awk, sed, other?)

I have a file that contains RewriteRules for 200 countries (2 examples for 1 country below):

Code:
RewriteRule ^/at(/|/index.html|)$ http://%{HTTP_HOST}/locate/index.html?locale=de_AT [R=301,L]

#&

RewriteRule ^/at_english(/|/index.html|)$ http://%{HTTP_HOST}/locate/index.html?locale=en_AT [R=301,L]

I have another list of redirects for the mobile versions of these sites in the following format:
Code:
RewriteRule ^/at_engilsh(/|/index.html|)$ http://%{HTTP_HOST}m.website.com/www.website.com/at_engilsh [R=301,L]

Bear in mind the at_english is just 1 of the country codes, there are many more.

So my goals is to go from

Code:
RewriteRule ^/at_english(/|/index.html|)$ http://%{HTTP_HOST}/locate/index.html?locale=en_AT [R=301,L]

#to

RewriteRule ^/at_engilsh(/|/index.html|)$ http://%{HTTP_HOST}m.website.com/www.website.com/at_engilsh [R=301,L]

I'm supplying the awk / pseudo code for one way I've thought to do it.

Code:
awk '
{
newurl="m.website.com/www.website.com/"
one=substr($0,1,14)
two=substr($1,13,37)
rest=substr($4,1)

# The line below this comment is the section I'm having difficulty with because 
#I have country codes in multiple formats at / at_engilsh / at_french
#I want to select all characters between ^/ ---> (  
code=substr($2,1) 
     

printf ("%s%s%s%s%s %s\n", one,code,two,newurl,code, rest)
}' input

So I either need help converting the pseudo code into actual code, or suggestions on a better way to do this operation.

Thank you for any help
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Complex Sed/Awk Question?

Hello, So i have this file called /apps/turnout which looks like that of the contents of the /etc/shadow (but not exactly) the file has a long list in it. basically, the contents of this file looks something similar to the following: jajajajalala:D#$#AFVAdfda lalabavisof:#%R@fafla#$... (3 Replies)
Discussion started by: SkySmart
3 Replies

2. Shell Programming and Scripting

string operation

i am new user of unix.i have a question.My script is- export STR_ALFA=`head -2 "${FILE_PATH}"|tail -1|cut -d"," -f1` "${TEST_HOME}"/function/chk_alfa.ksh STR_ALFA now i want to check STR_ALFA: 1)whether is alphabetic 2)whether is numeric 3)whether is alphanumeric... (1 Reply)
Discussion started by: arghya_owen
1 Replies

3. UNIX for Dummies Questions & Answers

string operation

I am trying to ask for full name in a script, Then echo back to the user with the surname only, omitting the first name. Thanks (2 Replies)
Discussion started by: orjnet
2 Replies

4. Shell Programming and Scripting

SED complex string replacement

sed -i 's:"ps -ef | grep $(cat $PID_FILE) | grep -v grep":"ps -C java -o pid,cmd | grep ${SERVER_NAME} | cut -d' ' -f1 | grep -v grep":g' scriptName That's what I'm attempting to do. I'm attempting to replace this: ps -ef | grep $(cat $PID_FILE) | grep -v grep with this: ps -C java -o... (5 Replies)
Discussion started by: cbo0485
5 Replies

5. Shell Programming and Scripting

Help - Search for string, then do string operation on line

Hi, I wish to find all lines that contain a specific search word, and then do few string operations on that line. The idea is to "fix" the file which has been moved from windows to unix. Using unix - Sun Solaris Test input ("t2.sas") statement1 statement2 libname yahoo ... (6 Replies)
Discussion started by: deepaksinbox
6 Replies

6. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

7. Programming

How to replace the complex strings from a file using sed or awk?

Dear All, I am having a requirement to find the difference between 2 files and generate a discrepancy report out of it as an html page. I prefer using diff -y file1 file2 since it gives user friendly layout to know any discrepancy in the record and unique records among the 2 file. Here's how it... (12 Replies)
Discussion started by: Badhrish
12 Replies

8. Shell Programming and Scripting

Replace string in XML file with awk/sed with string from another

Sorry for the long/weird title but I'm stuck on a problem I have. I have this XML file: </member> <member> <name>TransactionID</name> <value><string>123456789123456</string></value> </member> <member> <name>Number</name> ... (9 Replies)
Discussion started by: cozzin
9 Replies

9. Shell Programming and Scripting

Multiple Replacement in a Text File in one operation (sed/awk) ?

Hi all, Saying we have two files: 1. A "Reference File" whose content is "Variable Name": "Variable Value" 2. A "Model File" whose content is a model program in which I want to substitute "VariableName" with their respective value to produce a third file "Program File" which would be a... (4 Replies)
Discussion started by: dae
4 Replies

10. Shell Programming and Scripting

Complex Filter using grep, awk or sed

Hi, I'm not very familiar witrh sed or awk and hope the somebody can help me to solve my problem. I need to filter a text report using grep, sed or awk. I would like to cut out text lines with the pattern INFO and if exists the following lines of the pattern DETAILS. I need te keep the lines with... (4 Replies)
Discussion started by: Frankg
4 Replies
TZSELECT(8)						      System Manager's Manual						       TZSELECT(8)

NAME
tzselect - select a time zone SYNOPSIS
tzselect DESCRIPTION
The tzselect program asks the user for information about the current location, and outputs the resulting time zone description to standard output. The output is suitable as a value for the TZ environment variable. All interaction with the user is done via standard input and standard error. ENVIRONMENT VARIABLES
AWK Name of a Posix-compliant awk program (default: awk). TZDIR Name of the directory containing time zone data files (default: /usr/local/etc/zoneinfo). FILES
TZDIR/iso3166.tab Table of ISO 3166 2-letter country codes and country names. TZDIR/zone.tab Table of country codes, latitude and longitude, TZ values, and descriptive comments. TZDIR/TZ Time zone data file for time zone TZ. EXIT STATUS
The exit status is zero if a time zone was successfully obtained from the user, nonzero otherwise. SEE ALSO
newctime(3), tzfile(5), zdump(8), zic(8) TZSELECT(8)
All times are GMT -4. The time now is 11:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy