相关疑难解决方法(0)

打印一个文件,跳过Bash中的第一行X行

我有一个很长的文件,我想打印但跳过第一个1e6行例如.我查看了猫手册页,但我没有看到任何选项.我正在寻找一个命令来做这个或一个简单的bash程序.

linux printing bash skip

498
推荐指数
12
解决办法
36万
查看次数

在与sed匹配之前删除所有行

我正在使用sed来过滤文件列表.我有一个已排序的文件夹列表,我希望获得特定文件后的所有行.为了完成这个任务,我正在使用这里描述的解决方案,它对我尝试的任何输入都很有效,但是当匹配在第一行时它不起作用.在这种情况下,sed将删除输入的所有行

这是一个例子:

(ssh) fabio@s2 : ~
[0] % ls -1 /
bin
boot
...
sys
tmp
usr
var
vmlinuz

(ssh) fabio@s2 : ~
[0] % ls -1 / | sed '1,/tmp/d'
usr
var
vmlinuz

(ssh) fabio@s2 : ~
[0] % ls -1 / | sed '1,/^bin$/d'
# sed will delete all lines from the input stream
Run Code Online (Sandbox Code Playgroud)

当regexp匹配第一行时,我应该如何更改命令以考虑极限情况?

BTW sed '1,1d'正确工作并仅删除第一行.

regex perl awk sed pattern-matching

20
推荐指数
3
解决办法
3万
查看次数

如何从多个文件中删除特定字符串之前的所有行

我有n个文件,比如:

文件1:

1aaa
2eee

Test        XXX
Hanna
Lars 
Run Code Online (Sandbox Code Playgroud)

文件2:

1fff
2ddd
3zzz

Test        XXX
Mike
Charly
Run Code Online (Sandbox Code Playgroud)

我想从所有n个文件中删除"Test XXX"之前的所有行.要删除的行数因文件而异.

我的想法:

for file in 1 :n
do
pos=grep -n "Test XXX" file$file
sed -i "1:$pos-1 d" file$file >new$file
done
Run Code Online (Sandbox Code Playgroud)

bash shell sed

15
推荐指数
3
解决办法
2万
查看次数

在grep'd字符串后获取文件中的所有内容

昨天出现了一种情况,有人需要我将文件的尾端分开,指定为特定字符串之后的所有内容(为了参数,"FOO").我需要立即这样做,所以选择了我知道会工作并忽略了正确的方式或最好的方式,并采取以下措施:

grep -n FOO FILE.TXT | cut -f1 -d":" | xargs -I{} tail -n +{} FILE.TXT > NEWFILE.TXT
Run Code Online (Sandbox Code Playgroud)

让我烦恼的是使用xargs作为单例值.我认为我可以在这方面展示我的Google-Fu,但有兴趣看看SO-land中的人们为这种情况想出了什么样的东西

unix bash shell grep

6
推荐指数
2
解决办法
8886
查看次数

标签 统计

bash ×3

sed ×2

shell ×2

awk ×1

grep ×1

linux ×1

pattern-matching ×1

perl ×1

printing ×1

regex ×1

skip ×1

unix ×1