sed是实现对流的编辑。通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件。但是某些时候,我们需要直接修改文件,因为,保存文件到一个文件,然后再覆盖原文件的办法显得很麻烦。其实很简单,只需要一个 -i 参数就可以了。
比如,我想替换文件中的 properties 为 property ,可以使用
sed  -i -n 's/properties/property/g'  build.xml
另外 -n 选项可以取消屏幕的输出信息
 
PS: 经测试 部分内容有问题 需要更正
把一个文件里的文件传FTP.

ftp -in <<EOF
open 10.0.0.1
user uname passwd
$(sed 's/^/mput /' ftpfile.txt)
bye
EOF

使用s e d在文件中定位文本的方式

x x为一行号,如1
x , y 表示行号范围从x到y,如2,5表示从第2行到第5行
/ p a t t e r n / 查询包含模式的行。例如/ d i s k /或/[a-z]/
/ p a t t e r n / p a t t e r n / 查询包含两个模式的行。例如/ d i s k / d i s k s /
p a t t e r n / , x 在给定行号上查询包含模式的行。如/ r i b b o n / , 3
x , / p a t t e r n / 通过行号和模式查询匹配行。3 . / v d u /
x , y ! 查询不包含指定行号x和y的行。1 , 2 !

使用s e d在文件中定位文本的方式

x x为一行号,如1
x , y 表示行号范围从x到y,如2,5表示从第2行到第5行
/ p a t t e r n / 查询包含模式的行。例如/ d i s k /或/[a-z]/
/ p a t t e r n / p a t t e r n / 查询包含两个模式的行。例如/ d i s k / d i s k s /
p a t t e r n / , x 在给定行号上查询包含模式的行。如/ r i b b o n / , 3
x , / p a t t e r n / 通过行号和模式查询匹配行。3 . / v d u /
x , y ! 查询不包含指定行号x和y的行。1 , 2 !

sed编辑命令

p 打印匹配行
= 显示文件行号
a 在定位行号后附加新文本信息
i 在定位行号后插入新文本信息
d 删除定位行
c 用新文本替换定位文本
s 使用替换模式替换相应模式
r 从另一个文件中读文本
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即推出
l 显示与八进制A S C I I代码等价的控制字符
{ } 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
n 延续到下一输入行;允许跨行的模式匹配语句

例子
sed -n '2p' file.txt //打印第二行
sed -n '1,4p' file.txt //print 1-4 line
sed -n '1,$p' file.txt //print all

sed -n '/require/'p cart.php /匹配require
sed -n '/$/'p cart.php /匹配$特殊字符 要用
sed -n '/.*uire/'p cart.php
sed -n -e '/require/p' -e '/require/=' cart.php //匹配require 并且打印行号
sed -n '/require/=' cart.php //只打印匹配的行号

替换命令用替换模式替换指定模式,格式为:
[ a d d r e s s [,address]] s/ pattern-to-find /replacement-pattern/[g p w n]
s选项通知s e d这是一个替换操作,并查询p a t t e r n - t o - f i n d,成功后用r e p l a c e m e n t - p a t t e r n替
换它。
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省s e d将所有被替换行写入标准输出,加p选项将使- n选项无效。- n选项不打印输出
结果。
w 文件名使用此选项将输出定向到一个文件。

sed 's/class/CLASS/' cart.inc 例如:
sed 's/class/CLASS/g' cart.inc //替换所有的匹配项目

sed 's/class/CLASS/w cart.inc' out.file //替换后的结果输出到 out.file中

sed '/require./r cart.php' 1.php //把cart.php文件中/require 后面的数据添加到1.php之前。
sed 's/##*//g' 1.php //把1.php文件中所有##替换成空格。

sed 's/^0*//g' 1.php //把行首的0设为空。
sed 's/^M//g' 1.php //除去控制字符^M 键。

^M 的产生 ,<ctrl>+V 按J
^[[ 的产生 <ctrl>+V + 方向键 <-

处理报文输出

1) 使用s/-*//g删除横线- - - - - -。
2) 使用/^$ / d删除空行。
3) 使用$d删除最后一行
4) 使用1d删除第一行。
5) 使用awk {print $1}打印第一列。
命令如下,这里使用了cat,并管道传送结果到sed命令
cat cart.php |sed 's/--*//g' | sed '/^$/d' | sed '$d' | sed '1d' | awk '{print $1}'

快速一行命令
下面是一些一行命令集。([ ]表示空格, [ ]表示t a b键)
‘s / . $ / / g’ 删除以句点结尾行
‘-e /abcd/d’ 删除包含a b c d的行
‘s / [ ] [ ] [ ] * / [ ] / g’ 删除一个以上空格,用一个空格代替
‘s / ^ [ ] [ ] * / / g’ 删除行首空格
‘s / . [ ] [ ] * / [ ] / g’ 删除句点后跟两个或更多空格,代之以一个空格
‘/ ^ $ / d’ 删除空行
‘s / ^ . / / g’ 删除第一个字符
‘s /CO L ( . . . ) / / g’ 删除紧跟C O L的后三个字母
‘s / ^ / / / g’ 从路径中删除第一个
‘s / [ ] / [ ] / / g’ 删除所有空格并用t a b键替代
‘S / ^ [ ] / / g’ 删除行首所有t a b键
‘s / [ ] * / / g’ 删除所有t a b键

——————————————————————————————————

sed命令学习笔记收藏

http://victoryseason.blog.sohu.com/110677264.html

1.简介

sed是源于行编辑器ed的非交互式的流(stream-oriented)编辑器。sed之所以称为“流”编辑器,是因为象大多数UNIX程序一样,输入流过它,然后被导向标准输出。sed编辑器逐行处理文件(或输入),把当前处理的行存储在称为“模式空间”(pattern space)的临时缓冲区中,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。sed处理完一行后将其从模式空间中删除,然后读入下一行进行处理和输出。sed是对文件副本进行编辑和修改,所以不用担心会修改或破坏原文件。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作和编写转换程序等。

2. 使用格式

sed的使用格式如下:

sed [-n] [-e]  ‘instruction’  file(s)
sed [-n] –f  scriptfile  file(s)

sed的instruction格式如下:

[address[,address]][!]command [arguments]

3.选项

sed的主要选项有:

选 

功 

-n

取消默认的输出

-e

允许多行编辑

-f

指定sed脚本文件名

-i[SUFFIX]

修改原文件,如果提供suffix,作备份

-r

使用扩展正则表达式

4. 指令地址

sed指令可以指定0、1或2个地址:

<!--[if !supportLists]-->0)  <!--[endif]-->命令应用于所有行;

<!--[if !supportLists]-->1)  <!--[endif]-->命令令应用于任何符合这一地址的行

<!--[if !supportLists]-->2)  <!--[endif]-->命令应用与从第1个地址到第2个地址之间的行

5. 命令(command)

sed的命令主要有:

令 

功 

d

删除行

p

打印行

对所选行之外的所有行应用命令

=

打印行号

s

替换命令(如’s/^west/north/g’)注意查找替换分隔符不必是’/’,而可以是换行符和反斜线外的任何字符(如s#^west#north#g

r

读文件

w

写文件

a\

在当前行后添加一行或多行

i\

在当前行之前插入文本

c\

用新文本代替当前行中的文本

l

显示模式空间中的内容,显示非打印字符为两字节ASCII码

y

将一字符转换为另一字符(如:[address]y/abc/xyz/)

n

读入下一行,并将其读入模式缓冲区中,任何命令都将应用于下一行

q

结束或退出sed

D

删除多行pattern space中到\n为止

N

将下一行附加到上一行

P

打印到多行pattern space的\n为止

H(h)

Hold命令,附加(H)或拷贝(h)pattern space的内容到hold space(暂存区)

G(g)

Get命令,附加(拷贝)暂存区的内容到pattern space

x

Exchange命令,互换hold space和pattern space的内容

b

Branch(跳转)命令([address]b[label])

t

Test(测试)命令([address]t[label])

5. sed正则表达式元字符

元字符

使  用

.

除换行(\n)之外的任何字符

*

匹配0或多个前导字符,相当于\{0,\} (如:/*love/)

+

匹配1或多个前导字符,相当于\{1,\} 注意这是扩展元字符

[...]

匹配指定字符组内的任一字符 (如:/[Ll]ove/

\{n,m\}

匹配至少n个,至多m个前导字符;\{n\} 将匹配正好 n个, \{n,\}将匹配至少n个 (如:/o\{5,10\})

^

行首定位符

$

行尾定位符

\

取消转义字符

\( \)

保存已匹配的字符,最多可定义9个标签(如:s/\(love\)able/\1er/)

\n

获取以上获取的第n个标签

&

保存查找串以便在替代串中引用 (如 s/love/**&**/g)

\<

词首定位符  /\<love/

\>

词尾定位符  /love\>/

6. sed脚本编程

在命令行使用sed时常常会涉及到和shell的交互,而使用sed脚本则完全不必要为此操心。不再用引号来确保sed命令不被shell解释,而且可用反斜杠来续行。另外,对于脚本中的多个指令,应注意sed是对一行使用完了所有指令后再转到下一行的。sed的这种选择使得它可以方便地处理大文件(不必将整个文件一次读进内存)。另外,应注意sed对于脚本中输入的命令非常挑剔,在命令的末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。开始的{后不许有空格,结束的}必须单起一行。这一点与awk的比较自由的使用方式形成对比。sed中使用多行指令的示例如下:

/^\.TS/,/^\.TE/{/^$/ds/^\.ps 10/.ps 8/s/^\.vs 12/.vs 10/
}

7. sed中使用shell变量

sed如何使用shell变量?

比如在shell中定义了一个var变量,如何在sed中调用此变量?可以考虑以下方法:

  • 将平常的单引号改为双引号(Shell里单引号中所有字符都作字面解释):

sed "s/mytext/$var/g" file

对于某些mytext这种方法可能不起作用。

  • 一个单引号改为两个

sed 's/mytext/'$var'/g' file

8.理解与补充说明

  • grep与sed的区别。grep ‘John’ datafile对应的sed命令是sed –n ‘/John/p’ datafile。区别:

(1)使用grep时,正则表达式没有包含在//分隔符中,而sed需要包含在//之间

(2)sed默认会输出每一行,所以需要用-n命令阻止默认输出

(3)返回状态。如果grep在文件中找到指定模式,将返回状态0,否则返回1。sed则

不管是否找到指定模式,它的退出状态都是0,只有命令存在语法错误时,sed的

退出状态才不是0。

sed为什么要设计得如此“麻烦”呢?初用者在想只输出匹配行时往往忘记加-n选项。

这是因为sed首先是一个编辑器,而不是一个查找工具。比如当我们需要替换文件的

一部分时可以用不加-n选项的sed ‘s/a/b/g’ file实现。

  • 比较sed与ed/vi理解ed/vi的current-line addressing和sed的global line addressing非常重要:在ed/vi中使用定址来扩展命令处理行;而在sed中使用定址来限制处理的行。在ed/vi中,除非你告诉处理哪些行,不会处理什么,而在sed中,它将工作于每一行除非你告诉它不处理。
  • 关于命令括在单引号中。这不是必须的,但是应养成总是这样做的良好习惯单引号对可以避免shell解释在编辑指令中出现的特殊字符或空格(shell使用空格来分别提交给程序的不同参数,对于shell的特别字符在命令调用之前被扩展),所以当指令中存在空格时是必须使用单引号的。
  • sed注释。#用来注释。System V只认第一列的#,而GNU sed则可以将#符号放在任何地方。但是注意,如果第一二个字符是#n 表示脚本不会自动输出结果,相当于指定了一个命令行参数-n
  • 在命令行中使用多指令的三种方法。(1)在指令之间加分号;(2)在每一指令之前加-e;(3)使用Shell的多行记录功能(前面加’后可以直接换行,shell会等待用户输入’后再解释。
  • 最新版本的-i选项可以很方便地实现多文件直接修改,值得好好注意。

Shell中的grep、awk和sed的常用命令和语法

Grep的常用命令语法1. 双引号引用和单引号引用
在g r e p命令中输入字符串参数时,最好将其用双引号括起来。例如:”m y s t r i n g”。这样做有两个原因,一是以防被误解为 s h e l l命令,二是可以用来查找多个单词组成的字符串,例如:”jet plane”,如果不用双引号将其括起来,那么单词 p l a n e将被误认为是一个文件,查询结果将返回”文件不存在”的错误信息。
在调用变量时,也应该使用双引号,诸如: g r e p”$ M Y VA R”文件名,如果不这样,将
没有返回结果。
在调用模式匹配时,应使用单引号.[root@mypc ]# echo `grep 123 111.txt`  (#注意是反单引号)

2. 常用的g r e p选项有:
-c   只输出匹配行的计数。
-i   不区分大小写(只适用于单字符)。
-h   查询多文件时不显示文件名。
-l   查询多文件时只输出包含匹配字符的文件名。
-n   显示匹配行及行号。
-s   不显示不存在或无匹配文本的错误信息。
-v   显示不包含匹配文本的所有行。

3. 特殊的–在多个文件中进行查询
$ grep “sort”*.doc     ( #在当前目录下所有. d o c文件中查找字符串”s o r t”)
 
$ grep “sort it” *      (#或在所有文件中查询单词”sort it”)
接下来的所有示例是指在单个文件中进行查询
4. 行匹配
$ grep -c “48″ data.f
$ 4                      (#g r e p返回数字4,意义是有4行包含字符串”4 8″。)
$ grep “48″ data.f          (#显示包含”4 8″字符串的4行文本)

5. 显示满足匹配模式的所有行行数:
[root@mypc oid2000]# grep -n 1234 111.txt
1:1234
3:1234ab

6. 精确匹配
[root@mypc oid2000]# grep “1234\>” 111.txt
1234

7. 查询空行,查询以某个条件开头或者结尾的行。
结合使用^和$可查询空行。使用- n参数显示实际行数
[root@mypc oid2000]# grep -n “^$” 111.txt    (返回结果 2:   #说明第二行是空行)
[root@mypc oid2000]# grep -n “^abc” 111.txt (#查询以abc开头的行)
[root@mypc oid2000]# grep -n “abc$” 111.txt  (#查询以abc结尾的行)

8. 匹配特殊字符,查询有特殊含义的字符,诸如$ . ‘ ” * [] ^ | \ + ? ,必须在特定字符前加\。
[root@mypc oid2000]# grep  “\.” 111.txt  (#在111.txt中查询包含”.”的所有行)
[root@mypc oid2000]# grep  “my\.conf”  111.txt (#查询有文件名my. c o n f的行)

9. 目录的查询
[root@mypc oid2000]# ls -l |grep “^d”      (#如果要查询目录列表中的目录)
[root@mypc oid2000]# ls -l |grep “^d[d]”    (#在一个目录中查询不包含目录的所有文件)
[root@mypc]# ls -l |grpe “^d…..x..x” (#查询其他用户和用户组成员有可执行权限的目录集合)

Awk的常用命令语法

awk命令擅长格式化报文或从一个大的文本文件中抽取数据包,下面是该命令的基本语法
awk [-F filed-separator] “commands” input-file(s)
[ - F域分隔符]是可选的,a w k使用空格作为缺省的域分隔符,如果在要处理的文件中是以冒号作为分割域的(如passwd文件),则在处理的时候要这样指明 awk -F: command input-file(s)

1.1域和记录
a w k执行时,其浏览域标记为$ 1,$ 2 . . . $ n。这种方法称为域标识。使用$ 1 , $ 3表示参照第1和第3域,注意这里用逗号做域分隔。如果希望打印一个有 5个域的记录的所有域,不必指明 $ 1 , $ 2 , $ 3 , $ 4 , $ 5,可使用$ 0,意即所有域。

1.2保存a w k输出
$ awk ‘{print $0}’ input-files > out-files    (#重定向保存输出)
$ awk ‘{print $0}’ input-files | tee out-files  (#使用t e e命令,输出到文件的同时输出到屏幕)

1.3 常用的awk命令举例
[root@mypc /]# awk ‘$0 ~ /user/’ /etc/passwd  (#如果某域含有user就将该行打印出来)
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
[root@mypc /]# awk ‘/user/’ /etc/passwd      (#同上)
[root@mypc /]# awk -F: ‘{if ($5 ~ /user/) print $0}’ /etc/passwd (#如第五域有user则输出该行)
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
[root@mypc /]# ifconfig | awk ‘/inet/{print $2}’  (#从ifconfig的输出中抽取含inet的行并打印第二域)
[root@mypc /]# ifconfig | awk ‘/inet/{print $2}’ | awk -F: ‘{print $2}’ (#在上面的基础上再抽取,这个命令可以让你直接得到本机的ip地址)

Sed的常用命令语法
Sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。

1.行的匹配
[root@mypc /]# sed -n ‘2p’ /etc/passwd  打印出第2行
[root@mypc /]# sed -n ‘1,3p’ /etc/passwd 打印出第1到第3行
[root@mypc /]# sed -n ‘$p’ /etc/passwd   打印出最后一行
[root@mypc /]# sed -n ‘/user/’p /etc/passwd 打印出含有user的行
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
[root@mypc /]# sed -n ‘/\$/’p /etc/passwd  打印出含有$元字符的行,$意为最后一行

2.插入文本和附加文本(插入新行)
[root@mypc /]# sed -n ‘/FTP/p’ /etc/passwd  打印出有FTP的行
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@mypc /]# sed ‘/FTP/ a\ 456′ /etc/passwd 在含有FTP的行后面新插入一行,内容为456
[root@mypc /]# sed ‘/FTP/ i\ 123′ /etc/passwd在含有FTP的行前面新插入一行,内容为123
[root@mypc /]# sed ‘/FTP/ i\ “123″‘ /etc/passwd在含有FTP的行前面新插入一行,内容为”123″
[root@mypc /]# sed ‘5 a\ 123′ /etc/passwd         在第5行后插入一新行,内容为123
[root@mypc /]# sed ‘5 i\ “12345″‘ /etc/passwd   在第5行前插入一新行,内容为”12345″

3.删除文本
[root@mypc /]# sed ‘1d’ /etc/passwd  删除第1行
[root@mypc /]# sed ‘1,3d’ /etc/passwd  删除第1至3行
[root@mypc /]# sed ‘/user/d’ /etc/passwd  删除带有user的行

4. 替换文本,替换命令用替换模式替换指定模式,格式为:
[ a d d r e s s [,address]] s/ pattern-to-find /replacement-pattern/[g p w n]
[root@mypc /]# sed ’s/user/USER/’ /etc/passwd     将第1个user替换成USER,g表明全局替换
[root@mypc /]# sed ’s/user/USER/g’ /etc/passwd    将所有user替换成USER
[root@mypc /]# sed ’s/user/#user/’ /etc/passwd    将第1个user替换成#user,如用于屏蔽作用
[root@mypc /]# sed ’s/user//’ /etc/passwd         将第1个user替换成空
[root@mypc /]# sed ’s/user/&11111111111111/’ /etc/passwd  如果要附加或修改一个很长的字符串,可以使用( &)命令,&命令保存发现模式以便重新调用它,然后把它放在替换字符串里面,这里是把&放前面
[root@mypc /]# sed ’s/user/11111111111111&/’ /etc/passwd  这里是将&放后面

5. 快速一行命令
下面是一些一行命令集。([ ]表示空格,[ ]表示t a b键)
‘s / \ . $ / / g’ 删除以句点结尾行
‘-e /abcd/d’ 删除包含a b c d的行
‘s / [ ] [ ] [ ] * / [ ] / g’ 删除一个以上空格,用一个空格代替
‘s / ^ [ ] [ ] * / / g’ 删除行首空格
‘s / \ . [ ] [ ] * / [ ] / g’ 删除句点后跟两个或更多空格,代之以一个空格
‘/ ^ $ / d’ 删除空行
‘s / ^ . / / g’ 删除第一个字符
‘s /COL \ ( . . . \ ) / / g’ 删除紧跟C O L的后三个字母
‘s / ^ \ / / / g’ 从路径中删除第一个\
‘s / [ ] / [ ] / / g’ 删除所有空格并用t a b键替代
‘S / ^ [ ] / / g’ 删除行首所有t a b键
‘s / [ ] * / / g’ 删除所有t a b键
如果使用s e d对文件进行过滤,最好将问题分成几步,分步执行,且边执行边测试结果。
经验告诉我们,这是执行一个复杂任务的最有效方式。

  1. awk '/^$/{print NR}'

复制代码

  1. sed -n '/^$/='

复制代码

[root@localhost ~]# nl test.txt
     1  hahahaha
     2  aaaaaaa
     3  aaaaaaa

4  bbbbbbbbbbbbb
     5  vvvvvvvv
     6  ddddddddd
     7  vvvvvvvv
     8  aaaaaaa
     9  bbbbbbbbbbbbb
    10  ddddddddddd
    11  $
    12  #
    13  345
    14   345
    15  a5^
[root@localhost ~]# nl test.txt | grep -vn "[1-9]"
4:
[root@localhost ~]#

nl 文件名
默认就会加行号显示.空白行不加行号.

如果需要空白行也加行号可以输入
nl -b a 文件名

如果要自动把行号前面用0填充可以
[root@localhost ~]# nl -n rz test.txt
000001  hahahaha
000002  aaaaaaa
000003  aaaaaaa
000004  bbbbbbbbbbbbb
000005  vvvvvvvv
000006  ddddddddd
000007  vvvvvvvv
000008  aaaaaaa
000009  bbbbbbbbbbbbb
000010  ddddddddddd
000011  $
000012  #
000013  345
000014   345
000015  a5^

[root@localhost ~]#

-w 后面可以决定填充几个0.可以自己试试。。
nl -n rz -w 4 test.txt|grep -nv "^0"

所以这样也可以实现楼主要求

转载于:https://my.oschina.net/alphajay/blog/42606

使用sed在文件中定位文本的方式相关推荐

  1. wxWidgets:从文件中读取文本

    wxWidgets:从文件中读取文本 wxWidgets:从文件中读取文本 一个小代码片段,展示了如何从文件中读取文本 另一种方式,使用流媒体(对于更大的文件): 一个如何编写文本文件的小例子 wxW ...

  2. 如何使用Windows搜索在任何文件中搜索文本

    Many of us rely on Windows Search to find files and launch programs, but searching for text within f ...

  3. java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列

    我需要使用iText从pdf文件中提取文本. 问题是:一些pdf文件包含2列,当我提取文本时,我得到一个文本文件,其中列被合并为结果(即同一行中两列的文本) 这是代码: public class pd ...

  4. python怎么建立替换_Python-如何搜索和替换文件中的文本?

    如何使用Python 3搜索和替换文件中的文本? 这是我的代码: import os import sys import fileinput print ("Text to search f ...

  5. python自动翻译pdf_python实现从pdf文件中提取文本,并自动翻译的方法

    针对Python 3.5.2 测试 首先安装两个包: $ pip install googletrans $ pip install pdfminer3k googletrans会提供一个命令tran ...

  6. Python使用pdfminer3k提取PDF文件中的文本

    推荐教材: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年12月第11次印刷,山东省一流 ...

  7. python查找并修改文件中的内容_如何使用Python搜索和替换文件中的文本?

    如何使用Python搜索和替换文件中的文本? 如何使用Python 3搜索和替换文件中的文本? 这是我的代码:import osimport sysimport fileinputprint (&qu ...

  8. python docx 替换文字_查找并替换.docx文件中的文本 - Python

    我一直在寻找一种方法来查找和替换docx文件中的文本而运气不佳 . 我已经尝试过docx模块而无法使用它 . 最后,我使用zipfile模块计算了下面描述的方法,并替换了docx存档中的documen ...

  9. python用来自动修改pdf_python实现从pdf文件中提取文本,并自动翻译的方法

    针对Python 3.5.2 测试 首先安装两个包: $ pip install googletrans $ pip install pdfminer3k googletrans会提供一个命令tran ...

  10. java pdfbox 提取pdf 标题_java – 使用pdfbox从PDF文件中提取文本

    我试图使用pdfbox从PDF文件中提取文本,但不是作为命令行工具,而是在我的 Java应用程序中.我正在使用jsoup下载pdf. res = Jsoup .connect(host+action) ...

最新文章

  1. 你与ACM MM的距离只差一场算法比赛
  2. opencv亚像素点检测
  3. HihoCoder - 1873 Frog and Portal(构造+进制拆分)
  4. iphone最新款手机_苹果罕见“跌停”!遭遇6年来最惨淡一夜,2019年全球股市第一颗雷引爆...
  5. 虚拟机Ubuntu20.04.2LTS卸载python3.8出现tty1-tty6循环登录,无法进入图形化界面,乱码(亲测)
  6. 从ajax获取的数据无法通过Jquery选择器来调用事件
  7. 黄聪:C#使用能够foreach对hashtable、List遍历时“集合已修改;可能无法执行枚举操作。”错误...
  8. 数独问题流程图_算法实践——数独的基本解法
  9. 用Free Pascal IDE编写第一个程序Pascal版的hello world
  10. 中国网络游戏未来发展方向
  11. 漫谈敏捷方法中的信任
  12. C++查詢wry.dat中的IP地址信息
  13. 人人都在谈的 “数据驱动” 到底是什么?你确认自己做的是数据驱动吗?
  14. 知识表示学习(KG Embedding)—— TransX系列
  15. 2019年,一个人最好的生活状态
  16. oracle中字段类型为date存储数据精确到时分秒的问题
  17. python解压rar
  18. 周庄王,姬佗(公元前696年—公元前682年在位)
  19. 深度学习OSSIM关联分析(附源码注解)
  20. 货代公司主要是做什么的呢|货代公司作用

热门文章

  1. awk学习笔记(16) - 字符串函数
  2. ASP.NET MVC - 使用Post, Redirect, Get (PRG)模式
  3. Page_PreRender正好用来做View
  4. 重新审视SqlDataReader的使用
  5. 微信小程序-template使用:实现购物车商品数量加减功能
  6. bootstrap datetimepicker日期插件使用方法
  7. uos/deepin设置屏幕缩放比例的命令
  8. 恶意混时间你不敢管,却要吓唬全体员工?
  9. JAVA绘制拼音有问题
  10. Jar包顺序引起编译错误一例