`
7090
  • 浏览: 278480 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)mac os下sed来进行文件内容的替换操作

 
阅读更多
在mac osx lion中sed来进行文件内容的替换操作,使用命令为:

sed -i 's/oldstring/newstring/g' full-path-file

执行后提示出错,错误信息为:“sed: 1: command a expects \ followed by text”,但是相同的命令拿到centos下确能执行成功。 使用man查看命令的参数详细说明,两个系统下对参数“i”的要求不一样。
mac osx中为:

-i extension
  Edit files in-place, saving backups with the specified extension.  If a zero-length extension is given, no backup will be saved.
  It is not recommended to give a zero-length extension when in-place editing files, as you risk corruption or partial content in situations where disk space is exhausted, etc.
centos中为:

-i[SUFFIX], --in-place[=SUFFIX]
  edit files in place (makes backup if extension supplied)


参数“i”的用途是直接在文件中进行替换。为防止误操作带来灾难性的后果,sed在替换前可以自动对文件进行备份,前提是需要提供一个后缀名。从上面对参数“i”的详细说明中可以看到,mac osx下是强制要求备份的(当然也可以使用空字符串来取消备份),但centos下是可选的。

如果不需要备份文件,mac osx下可以使用如下命令完成替换操作:
sed -i '' 's/oldstring/newstring/g' full-path-file



例子:
cd /tmp
echo "netingcn.com" > sed_test.txt
cat sed_test.txt
sed -i '' 's/netingcn/www\.netingcn/g' sed_test.txt
cat sed_test.txt
rm -rf sed_test.txt
cd -


转:http://www.netingcn.com/mac-osx-sed-command-expects-followed-by-text.html
分享到:
评论

相关推荐

    获取Mac地址并实现文件中字符替换

    在本文中,我们将探讨如何在操作系统中获取Mac地址以及如何实现文件中的字符替换,这两个核心知识点。 首先,让我们深入了解一下如何在不同的编程环境中获取Mac地址: 1. **在Windows系统中**:可以使用Python的`...

    Mac OS环境下无法使用PowerBI-Cli工具故障排查-Stanley1

    ### Mac OS环境下无法使用PowerBI-Cli工具故障排查 #### 故障背景 PowerBI-Cli工具是一款能够灵活调用Power BI Embedded JavaScript API的命令行工具,它可以帮助用户完成诸如创建工作空间、上传报表以及生成Token...

    Mac OS X终端命令快速教程

    - `sed`:流编辑器,进行文本替换、插入、删除等操作。 - `awk`:模式扫描和处理语言。 4. 软件安装和包管理命令: - `brew`:MacOS的包管理器,用于安装、升级、卸载软件包。 - `install`:安装软件包或应用...

    批量替换文件名中的字符

    3. **Python脚本**:Python提供了一个强大的文件系统操作库`os`,可以用来批量替换文件名。以下是一个简单的示例: ```python import os def replace_char_in_filenames(directory, old_char, new_char): for ...

    一个原始文本文件的格式

    6. **文本处理工具**:除了基本的编辑,还有许多文本处理工具和脚本语言,如awk、sed和Perl,它们专门用于处理文本文件,进行搜索、替换、提取信息等操作。 7. **文本文件的压缩**:原始文本文件可以通过压缩工具,...

    windows和linux、Mac系统换行规则的区别.docx

    标题和描述中提到的知识点主要围绕着不同操作系统——Windows、Linux和Mac——在处理文本文件换行规则上的差异。在早期的电传打字机时代,为了防止字符丢失,每行末尾添加了两个字符,一个是回车(CR),另一个是...

    unix操作系统基础使用手册

    - `sed`:流编辑器,可以对文本进行替换、删除等操作。 - `awk`:更强大的文本处理工具,适合处理结构化的数据。 11. **软件安装与管理** Unix系统通常使用包管理器来安装和管理软件,如`apt`(Debian/Ubuntu)...

    osxsub:在 *nix 管道中使用 OS X 文本替换首选项

    文本替换适用于少数 Mac 应用程序,可以通过转到System Preferences -> Keyboard并选择Text选项卡来设置。 阅读有关 OS X 文本替换的更多信息: 该计划的目标是: 备份您的文本替换首选项,以及 加载新的首选项,...

    txt 删除空行

    例如,在Python中,可以使用os模块的`glob`和`os.path`来获取所有txt文件,然后逐个处理。 6. **第三方工具:** 有些专门的文本处理工具,如TextFX(Notepad++的一个插件),提供批量删除空行的功能。 7. **注意...

    unix 系统基础 系统基础

    在IT领域,Unix系统是最早期的多用户、多任务操作系统之一,它的设计哲学和功能特性对后来的许多操作系统,包括Linux和Mac OS X,都有着深远的影响。本篇将深入探讨Unix系统的基础知识,帮助读者建立对这个强大操作...

    学习Bash(第二版)中文版.pdf

    Bash作为免费和开源的软件,已经成为Linux和Mac OS X系统中默认的shell。Bash脚本是实现自动化任务,提高工作效率的重要手段。第二版中文版的书籍可能包含以下知识点: 1. Bash基础:包括Bash环境的安装、启动与...

    shell介绍及编程

    Shell是类Unix操作系统(比如Linux和Mac OS X)中最重要的命令行界面,提供用户与计算机交互的环境。用户在Shell中输入命令,系统则解释这些命令并执行相应的操作。Shell不仅可以作为命令的解释器,还是一种强大的...

    tr的详细用法tr的详细用法

    `tr` 是一个非常实用的命令行工具,用于对文本进行简单的转换操作。通过使用 `tr`,用户可以轻松实现 `sed` 的许多最基本的功能,如字符替换、删除以及去除重复字符等。尽管 `tr` 相对于 `sed` 功能较为简单,但它却...

    ubuntu8.04速成手册1.0.pdf

    Ubuntu 8.04是Ubuntu系列的一个重要版本,发布于2008年,它的稳定性和易用性吸引了大量的用户,特别是对于那些从Windows或Mac OS转向开源操作系统的用户。本手册将深入浅出地讲解Ubuntu的基础操作、系统设置、软件...

    xcode免证书开发调试并构建ipa

    在iOS应用开发过程中,证书管理一直是一项繁琐的任务,尤其对于初学者来说。本文档介绍了一种在Xcode 4.3版本中进行免证书开发调试并构建IPA的方法。这种方法适用于希望简化开发流程、避免苹果官方审核流程的开发者...

    unix编程 附全部源代码

    在IT领域,Unix操作系统是最早期的多用户、多任务操作系统之一,它的设计哲学和功能对后来的操作系统,包括Linux和Apple的Mac OS X,产生了深远的影响。Unix编程主要涉及与Unix系统的交互,包括系统调用、进程管理、...

    四本ubuntu基础教程

    1. **Ubuntu简介**:介绍Ubuntu的历史、特点、优势以及与Windows、Mac OS等其他操作系统的区别,引导读者理解开源文化。 2. **安装Ubuntu**:详述Ubuntu的下载、安装过程,包括Live CD/DVD启动、USB驱动器制作、双...

    perl速成教程

    2. **Perl安装与环境设置**:讲解如何在不同的操作系统(如Windows、Linux或Mac OS)上安装Perl解释器,并配置Perl的开发环境,包括编辑器和调试工具。 3. **Perl语法基础**: - 变量:Perl中的变量类型包括标量、...

    lyx.local:LyX定制文件使我的生活更轻松

    在Linux或Mac OS环境下,用户可以通过终端来编辑、备份或应用这个配置文件。例如,使用`nano`、`vim`或`emacs`等文本编辑器打开文件,然后进行编辑;使用版本控制系统如`git`来跟踪改动;或者用`sed`或`awk`等工具...

    Perl语言入门 教程

    Perl官网提供适用于Windows、Linux、Mac OS等不同操作系统的安装包。安装完成后,可以在命令行中通过`perl -v`来检查Perl版本,确保安装成功。 三、Perl基础语法 1. 变量:Perl中的变量以符号 ($) 开头,例如 `$var...

Global site tag (gtag.js) - Google Analytics