如果我想要tail一个 25 GB 的文本文件,该tail命令会读取整个文件吗?
由于文件可能分散在磁盘上,我想它必须如此,但我不太了解这种内部结构。
我经常开始读取一个大文件,然后在一段时间后想退出,但是从按
Ctrl+C到程序停止有延迟。是否有可能通过多次按Ctrl+C键来缩短延迟?还是我在浪费我的按键?
我有一个包含大量.txt.gz文件的目录(其中名称不遵循特定模式。)
对gunzip他们来说最简单的方法是什么?我想保留原来的名称,让他们从去whatevz.txt.gz到whatevz.txt
我想从文件中挑选出包含给定数字的某些行。我要搜索的文件名为os_clusters/piRNA_clusters.bed.
awk '{if (a[$0]++ == 0) {split($0,b,"."); ;split(b[1],c,"r"); print c[3]}};' test_non_enriched | xargs grep {} os_clusters/piRNA_clusters.bed
Run Code Online (Sandbox Code Playgroud)
第一部分在管道之前起作用——它产生要搜索的术语,例如 8707、8824 等。但是,后一部分没有。
awk '' ... | xargs grep {} os_clusters/piRNA_clusters.bed
Run Code Online (Sandbox Code Playgroud)
它不是在目标文件中搜索管道产生的术语,而是将搜索术语视为输入文件。因此,我收到如下错误消息:
grep: 8707: No such file or directory
grep: 8824: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我需要更改什么才能在文件中搜索os_clusters/piRNA_clusters.bed管道产生的术语?
我搞砸了命令并写了 sh -man
现在我进入了一个sh-3.2看似不可能退出的程序。
Ctrlc、Ctrlz、 或Ctrlx不起作用。
exit, quit, q,:q也不起作用。
所有谷歌答案都是以编程方式退出 shell 脚本。
有一些脚本会在服务器进程完成时发送电子邮件。
但是,我不想只是为了查看工作是否完成而经常查看我的电子邮件。因此,我想收到一条短信。
我的问题与此类似,只需与所有出现的“电子邮件”交换短信:是否有程序可以在进程完成时向我发送通知电子邮件?
您能想出任何解决方法/应用程序/脚本/任何可以在工作完成(或提前结束)时发送短信的方法吗?
我想用回显向文件添加标题,然后使用命令创建文件的其余部分。这意味着我将使用两个单独的命令。
如何将两个命令的输出写入带有重定向的文件?
我试过了
echo "header line" | cut -c 1-5 input_file > output_file
echo "header line"; cut -c 1-5 input_file > output_file
Run Code Online (Sandbox Code Playgroud)
这只会重定向 cut 命令的输出。
以下命令有效,但感觉很笨拙:
echo "header line" > output_file; cut -c 1-5 input_file >> output_file
Run Code Online (Sandbox Code Playgroud)
解决我的问题的聪明方法是什么?
我想知道三通是否会减慢管道速度。毕竟,将数据写入磁盘比管道传输要慢。
tee 是否等待将数据发送到下一个管道,直到数据写入磁盘?(如果没有,我想 tee 必须将已发送但未写入磁盘的数据排队,这对我来说不太可能。)
$ program1 input.txt | tee intermediate-file.txt | program2 ...
Run Code Online (Sandbox Code Playgroud) 谷歌搜索,我只能找到如何在这两者之间切换,但没有描述它们是什么。
那么,什么是char-mode 和 line-mode?常规外壳通常处于什么模式?
我想 ls 文件名中包含子字符串“s1r”、“s2r”、“s3r”或“s19r”的文件。
我快到了!
拙劣的尝试:
ls *s[123][9?]r*
Run Code Online (Sandbox Code Playgroud)
上面只给了我包含子字符串的文件
s19r
尽管
ls *s[1-3]|[19]r*
Run Code Online (Sandbox Code Playgroud)
返回
-bash: [19]r*: 命令未找到
ls: *s[1-3]: 没有那个文件或目录
也就是说,它不识别或 | 运算符 - 这是有道理的,因为它也用于管道。
如何 ls 包含“s1r”、“s2r”、“s3r”或“s19r”的文件?