使用regex删除一个注入
我正在寻找大约16,000多个文件中的第1行中的这条特定行. 注射开始是: 此内容仅为1行(第一个) 不确定该怎么做,但是我在这里拥有的是以下; sed -i -e '1 s/.*//g' error: sed: -e expression #1, char 67: Unmatched ( or \( 任何帮助都很棒. 解决方案 您缺少字面特殊字符,例如?和使用-r获得期望结果 sed -ri '1 s/.*
0 2023-05-27
编程技术问答社区
查找所有在BOF或EOF处有空白或WS的文件
每个人都知道PHP讨厌文件的开头或结尾(php标签之前或之后). . 我有一个awk脚本可以修改文件.我将所有文件通过它,一切都是桃红色的,不再是领先或拖延的空白行. 我想先找到文件,以构建快速异常报告. 我尝试了这样的事情: grep -r -e :a -e '/^\n*$/{$d;N;};/\n$/ba' 但这是错误的. 解决方案 此外壳脚本将浏览所有文件并在每个文件的开头或结尾找到空白行: for f in `find . -type f`; do for t in head tail; do $t -1 $f |egrep '^[ ]*$' >/dev/null && echo "blank line at the $t of $f"; done; done 我打破了线条以获得可读性,但是您也可以将其作为一个衬里运行. 示例输出: blank line at the head of ./b bla
2 2023-05-26
编程技术问答社区
sed script-permission denied on temp file
我只是使用了查找和SED的组合来替换目录文件中的字符串. find . -type f -exec sed -i 's,foo,bar,g' {} + 它完成了工作.之后,我登录了服务器(通过SSH连接),然后记住,我需要再次运行该命令.因此,我用稍微修改的查找/替换字符串触发了相同的命令,但是给出以下错误不再起作用: sed: couldn't open temporary file ./sedPFq4Ck: Permission denied 现在怎么了? fwiw:每次新尝试后,上述临时文件的文件名更改. 解决方案 在编辑文件时,sed创建一个临时文件,保存结果,最后mv带有临时文件的原始文件. 问题在于,您没有在目录中sed尝试创建临时文件的目录中的写入权限. 由于文件为./sedPFq4Ck,请检查您正在运行find命令的目录的许可.
8 2023-05-25
编程技术问答社区
命令 "打印所有以 "开始的行
我正在寻找一个以字符串开头的线的perl命令.例如,如果我想打印以" 1234"开头的所有行,那命令会是什么样? sed?尴尬? grep? 解决方案 perl -ne 'print if /^1234/' 或 sed -ne '/^1234/p' 或 awk '/^1234/' 或 grep '^1234' 或 ruby -ne 'print if /^1234/' 甚至 python -c 'import fileinput;print "\n".join([l for l in fileinput.input() if l.startswith("1234")])' 其他解决方案 perl -ne'print if /^1234/' file ,但大多数人会使用grep. grep ^1234 file 或Windows findstr /r ^1234 file 其他解决方案 完成:
0 2023-05-25
编程技术问答社区
我应该用sed、awk、perl来改变跨越多行的文本,只选择需要的信息吗?
我正在研究一个课程项目,我们将一个装满线的文件描述了类似于下面的课程 CSC 1010-计算机和应用程序 计算机和应用.先决条件:高中代数II.计算机的历史记录,>硬件组件,操作系统,应用程序软件,数据通信. 3.000个学时 并将其变成 CSC1010,计算机和应用,3 我使用了: sed -n 's/^CSC /CSC/p' courses.txt > practice.txt 输出: CSC1010-计算机和应用程序 CSC1310 -Intro Comp编程非MAJ CSC2010-计算机科学介绍 CSC2310-计算机编程的prin CSC2320-网站开发基金 CSC2510- Comp Sci 的理论基础 CSC3010-计算历史 CSC3210-计算机组织和编程 CSC3320-系统级编程 CSC3330 -C ++编程 CSC3410-数据结构-CTW CSC4110-嵌入式系统 CSC4120-机器人
0 2023-05-25
编程技术问答社区
sed、awk、perl或lex:通过前缀+regex查找字符串,忽略其他输入内容
我需要在一堆文件中找到具有特定前缀的字符串,然后是regexp,但忽略了输入的其余部分(包括前缀之前的行内容,以及在匹配regexp的末尾). 最佳工具是什么? grep找到完整的行; sed通常仅用于编辑和选择; awk? perl? 我也考虑过lex,但是我真的是在编译器编译器之后?! 编辑:输入是数千个HTML文件,前缀 +正则表达式为https://([-.0-9A-Za-z]+\.[A-Za-z]{2,})(我想要$1),其余的输入忽略了. 解决方案 如果您在单行上的模式中不会超过一个模式,我可能会使用sed: sed -n -e 's%.*https://\([-.0-9A-Za-z]\{1,\}\.[A-Za-z]\{2,\}\).*%\1%p' 给定数据文件: Nothing here Before https://example.com after https://example.com and after Before you
0 2023-05-25
编程技术问答社区
使用一个.csv文件作为sed函数的数据池
我有大量的文本我想使用SED来使用.csv文件作为SED参考的数据库进行质量替代.例如,如果我想创建一个看起来像: 的.CSV文件 bird,snake tree,bush river,stream 然后,我想使用sed搜索文本以查找第1列字符串,然后用第2列值替换.这是最好使用bash脚本调用sed做的事情,还是使用perl脚本获得更多成功? 解决方案 使用perl.将CSV文件读取到哈希中,从哈希密钥中构建正则表达式,然后使用哈希进行翻译对文本进行全局尺寸. 看起来像这个 use strict; use warnings; use 5.010; use autodie; my $str =
0 2023-05-25
编程技术问答社区
如何用sed、awk或其他方式编辑下面的行
如何在SED,尴尬或其他任何内容中编辑以下行: root@laptop002:/tmp# cat /tmp/log 2016-03-01 06:08:26 {"id":"778640","cuid":"1","msid":"199033","lid":"582","Started":"1","qid":"9401"} batch is running 使它看起来如下: 2016-03-01 06:08:26 "msid":"199033" batch is running 或 2016-03-01 06:08:26 msid is 199033 batch is running 或 2016-03-01 06:08:26 msid=199033 batch is running 解决方案 $ awk -F'[{,}]' '{print $1, $4, $NF}' file 2016-03-01 06
0 2023-05-25
编程技术问答社区
从CSV数据值中删除回车符
我使用负载数据填充语句将来自管道划分的CSV的数据导入MySQL.我正在使用" \ r \ n'终止行.我的问题是,每行中的某些数据中的某些数据在其中具有'\ r \ n',从而导致负载错误.我有类似的文件,这些文件仅在数据中使用'\ n'来指示线路破解,这不会引起任何问题. 示例好的CSV School|City|State|Country\r Harvard University|Cambridge|MA|USA\r Princeton University|Princeton|New Jersey |USA\r 示例不好CSV School|City|State|Country\r Harvard University|Cambridge|MA|USA\r Princeton University|Princeton|New\r Jersey\r |USA\r 是否有一种方法可以使用sed,awk或perl预处理CSV,以清理列值中的额外运输返回?
0 2023-05-25
编程技术问答社区
如何在csv引号字段中用空白代替换行符?
有一个大的CSV文件,其中包含一些线条提要.我需要运行一个shell脚本,sed,awk,perl很好,只用一个空间替换引号中的行供稿.行的结尾必须保留,我不知道列的数量或哪些字段可能具有这些嵌入式线馈送. 对文件的进一步检查显示了CAT -V test_lf.csv 的结果 "NORTH ?M-^@?OLMSTED" "PORT?M-^@?ST?M-^@?LUCIE" 在CSV文件中,在Excel中显示了一个线路断开?m-^@?是. 我想使用TR代替空间.我该怎么做?那是什么序列? 我现在发现文件的一小部分看起来像字符和十六进制中的以下内容. 13:20:59 [woo:~/Development/scripts] > tail -n 8 test_lf.csv | head -n 1 | od -x 0000000 3431 3136 3439 3039 2c39 542c 4c45 3543 000
4 2023-05-25
编程技术问答社区
使用脚本为xml中的每个标签添加一个递增的值属性
我想在XML中的每个标签中添加一个属性,该标签正在使用AWK,SED,PERL或PLAIN SHELL CMD 进行增量 例如: 我期望以下输出 如果可能的话,我不在查看任何依赖项(树枝,libxml),纯字符串操纵. 解决方案 通常,您应该使用适当的解析器来处理XML.但是在awk中: awk 'match($0, /]+/) { \ $0 = substr($0, 1, RSTART+RLENGTH-1) " order=\"" ++i "\"" \
0 2023-05-25
编程技术问答社区
如何创建没有多余空格的CSV文件
i使用 XLS2CSV 二进制,以翻译 xls doc doc to csv 在我的Linux红帽机器中, 示例:(从人页面) xls2csv -x "1252spreadsheet.xls" -b WINDOWS-1252 -c "ut8csvfile.csv" -a UTF-8 ,但我注意到以下问题 - 步骤1,2 (以下问题在我的bash脚本中引起许多麻烦) 问题是: (1) CSV文件包括不必要的空间(在单词的左侧或单词的右侧) CSV中错误语法的示例 ,"/var/adm/sys ldd/all /Comm/logs ","WORD "," WORD" csv中的右语法示例 ,"/var/adm/sys ldd/all /Comm/logs",WORD,WORD (2)引用标记也出现在CSV中) CSV中错误语法的示例 ," WORD ", csv中的右语法示例 ,WORD, 请建
2 2023-05-25
编程技术问答社区
在wp | config | sample.php上用Perl生成盐。
我已经做了很多研究来找到一种方法来做到这一点,但是我很短.我正在寻找一种用随机生成的盐代替所有'put your unique phrase here'的方法. 这是我需要编辑的配置部分: define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase her
2 2023-05-25
编程技术问答社区
在大文件中搜索并替换多行
我想搜索并替换大型文件(约900 MB).我在网上搜索数小时. 通常,有两个合适的工具,SED和PERL. SED的多行语法似乎非常komplex,所以我尝试了perl. 我的输入数据如下: K 13 svn:mergeinfo V 498 /code/branches/TEST_ENVIRONMENT_OBC/Implementation//SpecificComponents/SUV/config/TEST:4670-4976 /code/tags/QR_20131111/Implementation/SpecificComponents/SUV/config/TEST:4669 /code/tags/QR_20131211/Implementation/SpecificComponents/SUV/config/TEST:5138 /code/trunk/Implementation/SpecificComponents/SUV/config/OBC:4669-
12 2023-05-25
编程技术问答社区
用嵌入式XML解析和操纵日志文件
我有一个日志文件,在其中嵌入了XML的日志文件中,如下: : 2015-05-06 04:07:37.386 [INFO]Process:102 - Application submitted Successfully ==== 1 Test123456789 123 Test Street1234567802 2015-05-06 04:07:39.386 [INFO] Process:103 - Application completed Successfully ==== 1 2015-05-06 04:07:37.386 [INFO]Process:104 - Application
2 2023-05-25
编程技术问答社区
无法删除双引号所包含的列中的回车和换行符号
我想删除列数据中的任何不可打印的新系字符. 我已经用双引号封闭了所有列,以轻松删除列中存在的新行字符,并在行的每一端后忽略记录定界符. 说,我有4列被逗号分开,并在文本文件中被引号包裹. 我只是尝试删除\ n和\ r字符,当时它存在于双引号之间 当前使用的装饰,但它删除了每个线路断开,并将其制成一个序列文件,而没有任何记录分离器. tr -d '\n\r' out.txt 样本数据: " 1","测试\ n 示例"," data"," col4" \ n " 2 \ n ","测试","示例","数据" \ n " 3"," sam \ n ple"," te \ n st","数据" \ n 预期输出: " 1"," testSample"," data"," col4" \ n " 2","测试","示例","数据" \ n " 3","示例","测试","数据" \ n
0 2023-05-25
编程技术问答社区
打印两个图案(BEGIN和END)之间最小的线条集,包括这两个图案的线条。
输入文件 aaa Any--END--Pattern bbb ANY--BEGIN--PATTERN ccc # do not print ANY--BEGIN--PATTERN # print 1 ddd # print 2 Any--END--Pattern # print 3 eee fff ANY--BEGIN--PATTERN # print 4 ggg # print 5 Any--END--Pattern # print 6 hhh # print 7 Any--END--Pattern # print 8 iii # do not print ANY--BEGIN--PATTERN jjj 想要输出 ANY--BEGIN--PATTERN #
0 2023-05-25
编程技术问答社区
SED-从文件中删除字符串的首次出现
我有一个名为test.txt的文件,其中包含以下内容: test1 test2 test3 test4 test5 test3 我正在使用以下代码从文件中删除"test3": sed -i '/test3/d' test.txt 但是,我只想删除"test3" 的第一次出现 解决方案 此SED单线将为您提供帮助: sed '0,/test3/{/test3/d}' file test1 test2 test4 test5 test3 此SED命令使用了SED的地址. SED具有不同的地址表达式,这在SED的信息页面中进行了详细说明. 对于此命令,0, /pattern/将从第一行聚焦到第一行匹配/pattern/,然后执行操作:/pattern/d,即删除第一个匹配行.完成此操作后,所有以下行都不会对地址0,/pattern/满意,因此采取了默认操作:按原样打印. 其他解决方案 另一种方法(我认为不如肯特的好)依靠持有空间: sed
2 2023-05-25
编程技术问答社区