Linux Commands Examples

A great documentation place for Linux commands

replace

a string-replacement utility

Synopsis

replace arguments


add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!

examples

0
source

Can I replace Windows with Wine?

I would first check to see if the games that you are playing have a Linux port already. This way you could avoid using Wine or Parallels in order to play them.

I haven't had great experience running newer windows games (especially newer FPS titles) through an emulator such as Wine.

As far as partitioning your HDD to dual boot windows and linux, if you are going to be in windows most of the time playing games, I would devote about 60% of the HDD space to windows and the other 40% to your linux installation.

Windows cannot read ext4 partitions AFAIK. Although I do believe that there are a few programs out there that will let you browse the partitions from within windows.

0
source

Replaces images\(.*)" with images/\1" in all files?

Check if this works for you

sed "s/images\\\/images\\//g"
0
source

Automatic replacement of expressions

What you are looking for is called "Pattern Capture", where a particular pattern matched by a regular expression is saved in a variable. The details of how this is done depend on the language used (Perl, awk, sed or whatever).

Your problem is a bit more complicated because:

  1. You should not parse HTML with regular expressions

  2. Regular expressions become more complicated in most languages when your search pattern spans multiple lines.

  3. Since you have not included a sample of your actual code, it is harder for me to find a unique pattern with which to anchor my regular expression. In the script below I am using <moreCodeThatAlwaysStaysTheSame> and .someCodeAndOth you will need to change that to reflect actual unique patterns that flank the text you want to replace.

  4. You should not parse HTML with regular expressions

All that said, here is a Perl script that will replace the patterns you gave in your question:

#!/usr/bin/perl 
###############################################
# This sets the line separator to a string    #
# instead of a new line (\n). Use something   #
# that uniquely delimits the code you want to #
# replace.                                    #
###############################################
local $/="<moreCodeThatAlwaysStaysTheSame>";

#######################################################
# Read the input file, line by line. Remember that    #
# because of the previous command, a line is expected #
# to end with "<moreCodeThatAlwaysStaysTheSame>"      #
#######################################################
while (<>) {
#####################################################
# $str is what we want to replace the pattern with. #
# "XXX" will be replaced by the correct mp3.        #
#####################################################
    my $str=<<Eof;
 <audio controls="controls">
   <source src="XXXX" type="audio/mpeg">
<embed height="50" width="100" src="XXXX">
</audio>
Eof
###########################################################
# Match the entire string we will replace AND the         #
# mp3 we are looking for. In Perl (and other languages)   #
# placing a regex pattern in (parentheses) captures it.   #
# We can now refer to the 1st captured pattern as $1, the #
# second as $2 etc.                                       #
###########################################################
    /(.someCodeAndOth.+?src=.+\/(.+?\.mp3).+?$)/s;

###################################################
# Save the matches into variables, otherwise they #
# will be lost at the next match operation.       #
###################################################
    my ($match,$rep,$mp3)=($1,$1,$2);

###################################################
# Replace "XXXX" with the appropriate mp3 in $str #
###################################################
    $str=~s/XXXX/$mp3/g;

#########################################
# Replace the matched pattern with $str #
#########################################
    s/$match/$str/;

#################
# Print it out! #
#################
    print;
}

Save that script as foo.pl and run it on your file as follows:

perl foo.pl input_file.html > output_file.html
0
source

How do I exclude match and change only specific character with sed

From your code snippet, the sed expression looks correct - it will replace every '0' character with the characters 'correct'. If you only want the output from your echo command to be updated, you could put the sed command on the output from echo, eg:

some command
date >> /file.txt
echo $? | sed 's/0/correct/' >> /file.txt

(note removing 'echo' and 'cat' commands will have no effect on the output)

In the context you're using the -i option, it's actually a commandline option, rather than a sed script command - it's a different section in the man page:

       -i[SUFFIX], --in-place[=SUFFIX]

          edit files in place (makes backup if extension supplied)

This means it will update the source file (which is precisely what you want in your example).

However, note that in this example, the exit code being checked is the exit code of date, and not your command. In fact in your example, it's checking the exit code of echo, which I suspect is even less helpful for you.

A more standard way of performing this check would be along the lines of:

some command
result=$?
date >> /file.txt
if [ $result -eq 0 ]
then
  echo "Command finished successfully" >> /file.txt
else
  echo "Command failed with exit code $result" >> /file.txt
fi

description

The replace utility program changes strings in place in files or on the standard input.

Invoke replace in one of the following ways:

shell> replace from to [from to] ... -- file_name [file_name] ...
shell> replace from to [from to] ... < file_name

from represents a string to look for and to represents its replacement. There can be one or more pairs of strings.

Use the -- option to indicate where the string-replacement list ends and the file names begin. In this case, any file named on the command line is modified in place, so you may want to make a copy of the original before converting it. replace prints a message indicating which of the input files it actually modifies.

If the -- option is not given, replace reads the standard input and writes to the standard output.

replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps a and b in the given files, file1 and file2:

shell> replace a b b a -- file1 file2 ...

The replace program is used by msql2mysql. See msql2mysql(1).

replace supports the following options.

-?, -I

Display a help message and exit.

-#debug_options

Enable debugging.

-s

Silent mode. Print less information what the program does.

-v

Verbose mode. Print more information about what the program does.

-V

Display version information and exit.

copyright

Copyright © 1997, 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark of Oracle Corporation and/or its affiliates, and shall not be used without Oracle’s express written authorization. Other names may be trademarks of their respective owners.

This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this material is subject to the terms and conditions of your Oracle Software License and Service Agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle or as specifically provided below. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms:

You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights to this documentation not expressly granted above.

For more information on the terms of this license, or for details on how the MySQL documentation is built and produced, please visit MySQL Contact & Questions.

For additional licensing information, including licenses for third-party libraries used by MySQL products, see Preface and Legal Notices.

For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you can discuss your issues with other MySQL users.

For additional documentation on MySQL products, including translations of the documentation into other languages, and downloadable versions in variety of formats, including HTML and PDF formats, see the MySQL Documentation Library.


see also

For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online at http://dev.mysql.com/doc/.


author

Oracle Corporation (http://dev.mysql.com/).

How can this site be more helpful to YOU ?


give  feedback