Sponsored Content
Top Forums Shell Programming and Scripting In Vi "sed" substitute word on a specific line Post 302960023 by Don Cragun on Monday 9th of November 2015 03:33:55 PM
Old 11-09-2015
Quote:
Originally Posted by pimmit22043
shell script positional parameters have to be inside double quotes and singe quotes when using the sed.

below is code:

Code:
schema_name=1
table_name=2

sed -e '8s/'"$table_name"'/"$schema_name"'.'"$table_name"'/' input_file

Smilie
I think you confused all of us with the references to vi when you are not using vi at all.

Your sed command is doing a lot of unnecessary switching between single quotes and double quotes. You can get exactly the same results as the sed command above just using:
Code:
sed -e "8s/$table_name/$schema_name.$table_name/" input_file

With the values you're using in this example, no quotes are needed at all. But if $table_name or $schema_name could expand to strings containing whitespace characters or characters that could have special meaning to the shell if they aren't quoted, the double quotes protect you in that case. The key point is that the shell doesn't expand variables inside single quotes, so you have to use double quotes instead of single quotes if you want sed to see the table_name and schema_name variables expanded in your sed substitute command.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed substitute / for \ : error "Function can not be parsed"

Hello all, I have a weird issue when trying to substitute the slashes into backslashes. If I execute this on the command-line (bash / ksh) I get the path correctly translated with backslashes instead of slashes. > echo $PWD | sed 's/\//\\/g' However, when I put this in my script to... (3 Replies)
Discussion started by: candyflip2000
3 Replies

2. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

3. Shell Programming and Scripting

Can "sed" substitute word on a specific line?

Hello experts, I know line number of the word I want to replace. Can "sed" substitute word on a specific line? As well, can sed substitute words inside a specific patten. ex. <word>lalala</word> #replace anything between <word> and </word> minifish (2 Replies)
Discussion started by: minifish
2 Replies

4. Shell Programming and Scripting

How to substitute "\" by "\/" using SED?

Input: a/b/c Output required: a\/b\/c This does not work: sed s/'\/'/'\//'/g (6 Replies)
Discussion started by: indianjassi
6 Replies

5. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

6. Shell Programming and Scripting

How do I grep with sed and substitute a "#" on that line

Hey all, I am trying to disable a certain cronjob before I run a backup. I want to be able to add/remove a "#" from the beginning on the crontab line it is located on. Here is the crontab: 46 11 * * * /etc/webmin/cron/tempdelete.pl @daily /etc/webmin/time/sync.pl */5 * * * *... (4 Replies)
Discussion started by: eg mike
4 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

9. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

10. Shell Programming and Scripting

Add the word "prefix" to beginning of line using sed

SUSE linux bash shell this works test -d /tmpp && echo "directory exists" || echo "directory doesn't exists" |sed -e "s/^/prefix /" prefix directory doesn't exists but why doesn't this work? test -d /tmp && echo "directory exists" || echo "directory doesn't exists" |sed -e... (3 Replies)
Discussion started by: snoman1
3 Replies
MYSQLND_MS_MATCH_WILD(3)						 1						  MYSQLND_MS_MATCH_WILD(3)

mysqlnd_ms_match_wild - Finds whether a table name matches a wildcard pattern or not

SYNOPSIS
bool mysqlnd_ms_match_wild (string $table_name, string $wildcard) DESCRIPTION
Finds whether a table name matches a wildcard pattern or not. This function is not of much practical relevance with PECL mysqlnd_ms 1.1.0 because the plugin does not support MySQL replication table filtering yet. PARAMETERS
o $table_name - The table name to check if it is matched by the wildcard. o $wildcard - The wildcard pattern to check against the table name. The wildcard pattern supports the same placeholders as MySQL replication filters do. MySQL replication filters can be configured by using the MySQL Server configuration options --replicate-wild-do-table and --replicate-wild-do-db. Please, consult the MySQL Reference Manual to learn more about this MySQL Server feature. The sup- ported placeholders are: o % - zero or more literals o _ - one literal Placeholders can be escaped using . RETURN VALUES
Returns TRUE table_name is matched by wildcard. Otherwise, returns FALSE EXAMPLES
Example #1 mysqlnd_ms_match_wild(3) example <?php var_dump(mysqlnd_ms_match_wild("schema_name.table_name", "schema%")); var_dump(mysqlnd_ms_match_wild("abc", "_")); var_dump(mysqlnd_ms_match_wild("table1", "table_")); var_dump(mysqlnd_ms_match_wild("asia_customers", "%customers")); var_dump(mysqlnd_ms_match_wild("funny%table","funny\%table")); var_dump(mysqlnd_ms_match_wild("funnytable", "funny%table")); ?> The above example will output: bool(true) bool(false) bool(true) bool(true) bool(true) bool(true) PHP Documentation Group MYSQLND_MS_MATCH_WILD(3)
All times are GMT -4. The time now is 07:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy