草庐IT

linux - Bash脚本中的sed——替换变量内容的错误原因

我有一个Bash脚本:var="DAVOnAuthTypeDigestAuthName"rw"AuthUserFile/etc/password/digest-passwordRequireusertest123456DavOnAuthTypeDigestAuthName"ro"AuthUserFile/etc/password/digest-password-test2denyfromall"sed-i-e"s/somestringX/${var}/g"change.txt返回错误:sed:-eexpression#1,char9:unterminated`s'command当$va

linux - 如何在 Linux 中处理具有固定宽度列的文件

我想处理以下文件:01234000000000000000000+000000000000000000+02586000000000000000000+000000000000000000-12345000000000000000000+000000000000000000-12122000000000000000000+000000000000000000+我想把上面的文件转换成:01234,000000000000000000+,000000000000000000+02586,000000000000000000+,000000000000000000-12345,0000000

linux - 如何在 Linux 中处理具有固定宽度列的文件

我想处理以下文件:01234000000000000000000+000000000000000000+02586000000000000000000+000000000000000000-12345000000000000000000+000000000000000000-12122000000000000000000+000000000000000000+我想把上面的文件转换成:01234,000000000000000000+,000000000000000000+02586,000000000000000000+,000000000000000000-12345,0000000

linux - 按特定分隔符删除字符串

我在一个文件中有几列,其中第二列有“:”分隔符,我想删除第二列中的第一、第三和第四个字符串,并将第二个字符串留在该列中。但是我有正常的分隔符空间,所以我不知道。input:---22:16050075:A:G16050075AG---22:16050115:G:A16050115GA---22:16050213:C:T16050213CT---22:16050319:C:T16050319CT---22:16050527:C:A16050527CAdesiredoutput:---221605007516050075AG---221605011516050115GA---2216050

linux - 按特定分隔符删除字符串

我在一个文件中有几列,其中第二列有“:”分隔符,我想删除第二列中的第一、第三和第四个字符串,并将第二个字符串留在该列中。但是我有正常的分隔符空间,所以我不知道。input:---22:16050075:A:G16050075AG---22:16050115:G:A16050115GA---22:16050213:C:T16050213CT---22:16050319:C:T16050319CT---22:16050527:C:A16050527CAdesiredoutput:---221605007516050075AG---221605011516050115GA---2216050

linux - 用 sed 将旧链接 url 替换为新链接 url

我正在用bash编写一个脚本,它将旧链接url替换为新链接url我的问题是sed不能因为斜线替换url。如果我只输入一些文本,它就可以工作。我的代码sed-es/"$old_link"/"$new_link"/gwget2.html>playlist.txt 最佳答案 sed支持任何字符作为分隔符,因此如果您尝试替换的模式包含/,请使用不同的分隔符。最常用的是#和|sed's|foo|bar|g'inputsed's#foo#bar#g'input 关于linux-用sed将旧链接url

linux - 用 sed 将旧链接 url 替换为新链接 url

我正在用bash编写一个脚本,它将旧链接url替换为新链接url我的问题是sed不能因为斜线替换url。如果我只输入一些文本,它就可以工作。我的代码sed-es/"$old_link"/"$new_link"/gwget2.html>playlist.txt 最佳答案 sed支持任何字符作为分隔符,因此如果您尝试替换的模式包含/,请使用不同的分隔符。最常用的是#和|sed's|foo|bar|g'inputsed's#foo#bar#g'input 关于linux-用sed将旧链接url

linux - 如何使用 shell 脚本将文本附加到文件中的特定行?

我有一个文本文件(file.txt),内容如下:foo13464foo23696foo34562它包含进程和相应的PID。使用shell脚本,我想根据PID将字符串(正在运行/未运行)附加到此文件中的那些行。例如,在上面的文件中,对于包含PID3696的行,我想在末尾附加一个字符串“running”,这样文件就变成了:foo13464foo23696runningfoo34562我该怎么做? 最佳答案 $sed'/3696/s/$/running/'file.txtfoo13464foo23696runningfoo34562或$s

linux - 如何使用 shell 脚本将文本附加到文件中的特定行?

我有一个文本文件(file.txt),内容如下:foo13464foo23696foo34562它包含进程和相应的PID。使用shell脚本,我想根据PID将字符串(正在运行/未运行)附加到此文件中的那些行。例如,在上面的文件中,对于包含PID3696的行,我想在末尾附加一个字符串“running”,这样文件就变成了:foo13464foo23696runningfoo34562我该怎么做? 最佳答案 $sed'/3696/s/$/running/'file.txtfoo13464foo23696runningfoo34562或$s

regex - 在 BASH 中的字符串末尾前插入一个字符 4 个字符

有没有办法在字符串末尾前4个字符插入一个冒号?例如,我有0x2aab3f439000,我需要0x2aab3f43:9000谢谢 最佳答案 使用sed你可以做:s='0x2aab3f439000'sed's/.\{4\}$/:&/' 关于regex-在BASH中的字符串末尾前插入一个字符4个字符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/24917812/