Articles of replace

了解bash中的exec

在阅读了关于exec内build工程的解释之后,我明白它的基本function是replace当前进程而不分叉。 它似乎也被用于redirectI / O和在当前进程中closures文件描述符,这使我感到困惑。 这是一些无关的额外的事情exec吗? 在“取代现在的过程”的背景下能够理解吗? 而如何结合进程替代,如exec 3< <(my program) ?

在一个sed脚本中使用命令replace,使用参数

我正在尝试编写一个简短的脚本,使用sed来searchstream,然后根据shell函数的结果在stream上执行replace,这需要来自sed的参数,例如 #!/bin/sh function test { echo "running test" echo $1 } sed -n -e "s/.*\(00\).*/$(test)/p" < testfile.txt 其中testfile.txt包含: 1234 2345 3006 4567 (在每个之间换行符;它们通过您的网站格式化被删除)。 所以确定脚本适用于我(输出“运行testing”),但显然没有parameter passing给testing。 我想sed行是这样的: sed -n -e "s/.*\(00\).*/$(test \1)/p" < testfile.txt 和输出: running test 00 所以sed匹配的模式被作为一个参数进行testing。 我并没有真正期望上面的工作,但我已经尝试了每个$()方括号,反引号和我能想到的转义的组合,并且在任何地方都找不到这种情况。 帮帮我?

Bash脚本进程replace语法错误:“(”unexpected“

我想运行这个脚本: #!/bin/bash echo <(true) 我得到了“ Syntax error: "(" unexpected ”。我发现了一些类似的情况,但仍然不能解决这个问题。我是shell脚本的初学者,但据我所知: 我使用的shebang是正确的,selectbash shell,所以过程replace语法应该工作 我尝试从命令行相同,它的工作原理。 我使用echo $0进行了检查,它给了我“ bash ”,那么在命令行中运行命令和调用同一个shell的脚本有什么不同呢? 也许这是简单的,但我找不到解释或解决scheme。

sed返回“sed:命令乱码”

我在file.txt中有这个数据: 1234-abca-dgdsf-kds-2;abc dfsfds 2 123-abcdegfs-sdsd;dsfdsf dfd f 12523-cvjbsvndv-dvd-dvdv;dsfdsfpage 我想在“ – ”之后replacestring,直到“;” 只用“;”,这样我得到: 1234;abc dfsfds 2 123;dsfdsf dfd f 12523;dsfdsfpage 我试着用命令: sed -e "s/-.*;/;" file.txt 但它给了我以下错误: sed命令乱码 为什么发生这种情况?

查找并replace多个文件中的特定术语

如何在Linux中replace多个文件中的特定术语? 例如,我在我的目录中有许多文件: file1.txt file2.txt file3.txt 我需要find一个词“searchword”,并用“replaceword”replace它。

如何使用sed来replaceconfiguration文件的variables?

我一直在网上寻找这个答案,似乎无法find它。 我有一个configuration文件,其中包含: VAR1=VALUE1 VAR2=VALUE2 VAR3=VALUE3 VAR4=VALUE4 VAR5=VALUE5 VAR6=VALUE6 我想将VAR5的值从VALUE5更改为VALUE10。 不幸的是,我不知道VALUE5的价值,所以我无法search它。 所以基本上我需要使用sed(或其他)来replaceVAR5的值到我想要replace的值。 编辑:感谢确认的解决scheme,我能够在BASH中使用以下编辑我的configuration文件通过传递给bash脚本的参数。 斜杠被replace为逗号,因为我传递给脚本的参数将包含斜杠。 sed -i 's,^\(THISISMYVARIABLE=\).*,\1'THISISMYVALUE',' config.cfg 我的文件包含: THISISMYVARIABLE=SOMEOLDVALUE 在bash中运行sed命令之后 THISISMYVARIABLE=THISISMYVALUE

如何使用bat文件脚本replace文本文件中的文本?

所以我想创build一个脚本,它需要3个参数:文件path,replace确切词,以及replace它。 如何创build这样的事情? 一般我想要它有一个这样的API: script.bat "C:/myTextDoc.xml" "_WORD_TO_REPLACE_" "WordTo Use"

在文件中查找一行并replace下一行

使用.bat脚本,我想find一行说# Site 1并用variablesreplace下一行中的文本。 我在StackOverflow上find了关于查找和replace一行的教程,但找不到一行并replace了下一行。 任何帮助?

批量replace多个不同的string

我发现下面的解决scheme来replacestring,但我不完全理解它。 我该如何改变代码来replace每行3个string? 我的更改(第12行和第13行)还没有工作。 是否有可能没有运行第二和第三循环? ECHO off SETLOCAL enabledelayedexpansion SET source="C:\source.srt" SET target="C:\target.srt" IF EXIST %target% DEL /f %target% FOR /f "delims=" %%i IN ('FINDSTR . %source%') DO ( SET line=%%i SET line=!line:ö=oe! SET line=!line:ä=ae! SET line=!line:ü=ue! ECHO !line! >> %target% )

直到find该行并用另一个文本文件windows批处理脚本replace

我正在尝试写一个窗口批处理脚本,它将search,直到 例: example1 example2 example3 example4 <jar href="example.jar" main="true"/> 所以我想用另一个文本replace第一部分,直到( <jar href )的文本。 我的意思是第一个4行将被replace为另一个文本。 在批处理脚本中是否有直到find和replace的方法?