我知道
awk '!seen[$0]++' filename > output.txt
可以从文本file.But中删除所有重复项--如何获得删除行的列表,以便使用这些信息删除另一个文件中的相同行。
我需要这样做,因为我希望删除用一种语言编写的大型文本文件中的所有副本,然后在不丢失翻译匹配的情况下删除文件中的同一行。
为了更清楚地说明:(文件1)
line A
line B
line A
line C
...
(档案2):
line 1
line 2
line 3
line 4
...
从文件1中删除“A行”,从文件2中删除“第3行”。翻译所需:
line A ->
考虑一个文本文件,其中的文本行聚集在多个块中,其中每个块至少由一个空行分隔。使用Bash一行程序,如何将<中的所有文本删除为>或\n\n?
换句话说:删除每对<和>之间的所有内容。如果<没有关闭的>,那么删除所有东西直到块的末尾(空行),但是永远不要删除块之外的任何东西!
从概念上讲,为了安全起见,应该在解析之前将块在列表中划分为对象,还是只要您知道自己在做什么,这是一项直接的线性文本解析工作吗?
示例案文:
This is the first
block of text.
<-- empty
我有一个由几行文本组成的文件:
The first line
The second line
The third line
The fourth line
我有一个字符串,它是其中的一行:The second line
我想删除文件中的字符串和它后面的所有行,这样除了字符串之外,它还会删除The third line和The fourth line。该文件将变为:
The first line
我在谷歌上搜索了一个解决方案,似乎我应该使用sed。类似于:
sed 'linenum,$d' file
但是如何找到字符串的行号呢?或者,我还应该怎么做呢?
我知道与此相关的其他几个问题,例如:;然而,我没有这个问题。我试着跑:
sed -n '/Ce./,/EOF/ {s!^#!! d} p' more_tests_high.job
但我一直在想:
sed: -e expression #1, char 21: unknown option to `s'
我试图在more_test_high.job中搜索Ce和EOF之间的文本,但是删除以#开头的注释行。是的,EOF是我要搜索的文件中的文字文本。我尝试过使用/、!和_作为分隔符。我可以跑:
sed -n '/Ce./,/EOF/ p' more_tests_
我已将所有文本消息导出到文本文件中,并将其格式化为文本文件。
, NAME +18001112222, RECV, Text message contents.
, NAME +18001112222, RECV, Text message contents that are run over to
the line below it.
, NAME +18001112222, SENT, Text message contents that have
multiple lines and empty lines!
, NAME +18001112222, SENT, Text Messa
我有一个大的文本文件,其数据如下所示:
ATOM 3515 CA GLY C 43 1.094 36.439 24.619 1.00 44.14 C
如何删除一行,取决于第四个空格后面的字符是否为'C'?我看到了一种用cut做这件事的方法
cut -f1,4 -d' '
把比赛之外的一切都移除。
有什么办法可以做到这一点吗?我可以用其他方式看到一些方法,但是我想特别地在第四个空间上这样做,这样我就可以确定(或者更多地),它不会解析出文件深处的错误位。
我有一个包含以下文本的文件:
[Data]
hi
[Data]
one two three
[Data]
[Data]
right left
[Data]
[Data]
我正在研究如何从sed、awk或其他方面获得这个输出:
[Data]
hi
[Data]
one two three
[Data]
right left
说明:我需要查看数据和数据之间是否没有文本,如果不包含文本,我需要删除数据行和下一个空行。
你能帮帮我吗?非常感谢!
给定这样一个长文本文件(我们将称之为file.txt):
编辑的
1 AA
2 ab
3 azd
4 ab
5 AA
6 aslmdkfj
7 AA
如何删除在bash中在同一个文件中至少出现两次的行?,我的意思是我希望得到这样的结果:
1 AA
2 ab
3 azd
6 aslmdkfj
我不希望有相同的行在双,给定特定的文本文件。请给我看一下命令好吗?
我需要使用awk来实现脚本,而不是使用下面的脚本示例来实现sed。
#!/bin/bash
FILE="data"
revoke_number() {
local number="$1"
while true
do
local pre_voice=$(sed -n "$number"'p' $FILE)
if [ -z $pre_voice ]
then
sed -i "$number"'c\0:'"
我有这样的数据
12345678901234567890123456789012345678 // this line just character index //
a0001 some text other_data_1
a0002 some_text_connected other_data_2
a0003 other_data_3
在每一行的substr($0、7、20)中,有一些文本。我可以通过
awk '{print substr($0,7,20)}' testfile
并得到:
some text