标签: sed

bash将文件内容附加到现有文件的底部

可能重复:
用于将文本附加到每个文件的Shell脚本?
如何在SHELL脚本中将输出附加到文本文件的末尾?

我正在尝试找出将api详细信息插入到预先存在的配置中的最佳方法.我想过sed用于将api文本文件的内容插入config.inc文件的底部.我已经启动了脚本,但它不起作用,它擦除了文件.

#!/bin/bash

CONFIG=/home/user/config.inc
API=/home/user/api.txt

sed -e "\$a $API" > $CONFIG
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

bash awk sed append

97
推荐指数
1
解决办法
16万
查看次数

使用awk打印除第一个字段以外的所有内容

我有一个看起来像这样的文件:

AE  United Arab Emirates
AG  Antigua & Barbuda
AN  Netherlands Antilles
AS  American Samoa
BA  Bosnia and Herzegovina
BF  Burkina Faso
BN  Brunei Darussalam
Run Code Online (Sandbox Code Playgroud)

我想颠倒订单,先打印除1美元以外的所有商品,然后再打印1美元:

United Arab Emirates AE
Run Code Online (Sandbox Code Playgroud)

我怎么能做"除了场1之外的一切"技巧?

perl awk sed

96
推荐指数
7
解决办法
11万
查看次数

使用sed和grep/egrep进行搜索和替换

我正在使用egrep -R一个包含大约10个联合的正则表达式,所以像: .jpg | .png | .gif等.这很好用,现在我想替换所有找到的字符串.bmp

我在想类似的东西

egrep -lR "\.jpg|\.png|\.gif" . | sed "s/some_expression/.jpg/" file_it_came_form
Run Code Online (Sandbox Code Playgroud)

所以这里的问题是我如何做一个类似的联合正则表达式sed,如何告诉它将更改保存到它从中获取输入的文件.

regex grep sed

95
推荐指数
4
解决办法
12万
查看次数

使用-i选项(就地编辑)的sed命令在Ubuntu上工作正常,但在Mac上工作正常

我对Sed一无所知但是需要这个命令(在Ubuntu上运行正常)才能在Mac OSX上运行:

sed -i "/ $domain .*#drupalpro/d" /etc/hosts
Run Code Online (Sandbox Code Playgroud)

我越来越:

sed: 1: "/etc/hosts": extra characters at the end of h command
Run Code Online (Sandbox Code Playgroud)

linux macos bsd sed inplace-editing

95
推荐指数
4
解决办法
6万
查看次数

使用sed,如何打印一行的第一个"N"字符?

使用sed,打印前n个字符的单个衬垫是什么.我正在做以下事情.

grep -G 'defn -test.*' OctaneFullTest.clj  | sed ....
Run Code Online (Sandbox Code Playgroud)

grep sed

94
推荐指数
6
解决办法
14万
查看次数

为什么sed没有将\ t识别为标签?

sed "s/\(.*\)/\t\1/" $filename > $sedTmpFile && mv $sedTmpFile $filename
Run Code Online (Sandbox Code Playgroud)

我期待这个sed脚本插入每行的字体中的选项卡,$filename但它不是.由于某种原因,它插入而不是..奇怪..

regex bash sed

94
推荐指数
5
解决办法
9万
查看次数

如何从文本文件中删除换行符?

我有以下数据,我需要把它全部放在一行.

我有这个:

22791

;

14336

;

22821

;

34653

;

21491

;

25522

;

33238

;
Run Code Online (Sandbox Code Playgroud)

我需要这个:

22791;14336;22821;34653;21491;25522;33238;
Run Code Online (Sandbox Code Playgroud)

编辑

这些命令中没有一个完美地运行.

他们中的大多数都让这样的数据:

22791

;14336

;22821

;34653

;21491

;25522
Run Code Online (Sandbox Code Playgroud)

linux bash shell scripting sed

91
推荐指数
7
解决办法
23万
查看次数

sed或awk:删除模式后面的n行

我如何在sed(或任何类似的工具 - 例如awk)中混合模式和数值范围?我想要做的是匹配文件中的某些行,并在继续之前删除接下来的n行,我想将其作为管道的一部分.

unix awk sed

91
推荐指数
3
解决办法
8万
查看次数

获取"sed错误 - 非法字节序列"(在bash中)

做一些流编辑来改变令人讨厌的Parallels图标.它开发得很差并嵌入到应用程序本身而不是图像文件.所以我找到了这个有很好反馈的sed命令:

sudo sed -i.bak s/Parallels_Desktop_Overlay_128/Parallels_Desktop_Overlay_000/g /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_client_app
Run Code Online (Sandbox Code Playgroud)

它回来了 sed: RE error: illegal byte sequence

有谁能解释这意味着什么?命令的哪个部分是问题?

bash sed

90
推荐指数
4
解决办法
6万
查看次数

如何将包含斜杠的变量传递给sed

如何将包含斜杠的变量作为模式传递给sed

例如,如果我有以下变量:

var="/Users/Documents/name/file"
Run Code Online (Sandbox Code Playgroud)

我想把它传递给sed:

sed "s/$var/replace/g" "$file"
Run Code Online (Sandbox Code Playgroud)

但是我得到错误.我该如何规避这个问题?

bash sed

88
推荐指数
6
解决办法
6万
查看次数

标签 统计

sed ×10

bash ×5

awk ×3

grep ×2

linux ×2

regex ×2

append ×1

bsd ×1

inplace-editing ×1

macos ×1

perl ×1

scripting ×1

shell ×1

unix ×1