标签: bash

使用sed在文件中用下划线替换点

我试图使用 sed 编辑文件的输出。文件内容为

cat /tmp/Group_RM
t.p@k.p
t.m@k.k
Run Code Online (Sandbox Code Playgroud)

我试图获得如下输出:

cat /tmp/Group_RM
t_p@k_p
t_m@k_k
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令,但输出看起来很奇怪:

cat /tmp/Group_RM | sed 's/./_/g'
Run Code Online (Sandbox Code Playgroud)

输出是:

____ ___
_______
Run Code Online (Sandbox Code Playgroud)

sed 用下划线替换所有字符。当我尝试用“.”替换“_”时,sed 完美运行。

linux bash sed

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

如何在 Linux 上使用 Bash 脚本删除嵌套的空目录?

我希望能够运行一个脚本来删除我所有的空目录。问题是其中一些是嵌套的,即其中只有空目录的目录,因此脚本需要递归。

我知道这个:

find /media/server/data001/Unprotected/Downloads/ -type d -empty -exec rmdir {} \;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何让它一次又一次地运行,直到处理完所有嵌套目录然后停止。

linux bash recursive

4
推荐指数
1
解决办法
1751
查看次数

使用 bash 脚本将选择的 txt 文件从远程服务器复制到我的本地机器

我希望这个脚本在运行时不提示我输入密码。我想在脚本中放置一个密码,该密码将自行传递。这不是 root 密码:它用于专门为此目的设置的帐户。

#!/bin/bash
copyPath=/u/home/topp/Daily
destinationPath=/home/taliesin_oppenheimer
pass=Pass

scp user@host:$copyPath/UserLatency.txt $destinationPath/TXTfiles

scp user@host:$copyPath/ServerLatency.txt $destinationPath/TXTfiles
Run Code Online (Sandbox Code Playgroud)

等等

理想情况下,我想设置一个每天早上启动这个脚本的 crontab,这样我一到办公室就可以解析本地机器上的 txt 文件。当我现在运行它时,我必须为我复制的每个文件输入密码。

任何指针?

谢谢,最好,

-塔利

ssh bash passwords

4
推荐指数
1
解决办法
2352
查看次数

Shell - 如何转到上一个命令刚刚返回的位置?

我做了之后

$ which play
$ /Users/username/local/play/play
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以快速访问显示的目录而无需手动输入目录?只是好奇 :)

bash

4
推荐指数
1
解决办法
35
查看次数

创建每个具有特定文件大小的文件目录

我想创建 100 个文件,每个文件大小为 10Mb。是否有一个简单的 unix 命令可以创建一个包含这 100 个文件的目录?

unix bash

4
推荐指数
1
解决办法
219
查看次数

如何在输入到提示中的每个字母上执行 bash 或 zsh 中的函数?

我知道zsh 的preexec()挂钩以及在 bash 中可以实现的方式。(链接

但是我可以在打字的同时获得当前输入吗?

这个问题背后的想法如下:

为了更快地学习命令、参数和快捷方式,我想在“数据库”中搜索正在键入的命令,提供“帮助/有用知识/快捷方式”提示,并在键入时使用 screen/tmux 在另一个会话中显示这些在另一个。

是否可以检查当前正在键入的命令?如果它对每次击键都不起作用,则计时器循环也可能起作用。

linux bash zsh command-line tmux

4
推荐指数
1
解决办法
1672
查看次数

在递归 rm -rf /folder/* 中排除具有特定文件的子文件夹

我想知道是否可以指定一些优雅的条件(可能是参数?)rm -rf /folder/*不删除其子文件夹,其中包含名称为“dontshoot.txt”的文件。

到目前为止我找不到任何东西。

在此先感谢您的帮助!

linux bash

4
推荐指数
1
解决办法
3908
查看次数

将 su 与命令一起使用

Ubuntu 服务器 12.04

在我通过 ssh 连接的远程服务器上,我设置了一个特殊用户:

sudo adduser --system --disabled-login --disabled-password --group suser

运行一些维护功能。有时我会进入一个登录会话suser

sudo su -l suser -s /bin/bash

做一些任务......但是我特别希望能够通过以下方式运行一些git命令:

sudo su suser -c <COMMAND>

来自我的真实用户并且没有登录到 suser。

不幸的是,我一直无法确定我如何去做。我尝试了唯一对我有意义的方法:

sudo su suser -c git clone https://example.com/repos/project.git
sudo su suser -c "git clone https://example.com/repos/project.git"
   or even
sudo su suser -c mkdir /home/suser/test
sudo su suser -c "mkdir /home/suser/test"
Run Code Online (Sandbox Code Playgroud)

但没有任何反应,我回到提示。任何人都可以协助或解释为什么这是不可能的?

linux bash git su

4
推荐指数
1
解决办法
382
查看次数

终端空白,.bash_profile 损坏

我正在学习配置 OS X Mountain Lion 的教程,但在编辑后不知何故bash_profile我无法正确运行终端。

终端启动得很好但是是空白的,如果等待足够长的时间会出现“[进程完成]”,但仅此而已,尽管我仍然可以写入,但我无法运行任何命令。

当我查看 Inspector 时,我发现“登录”过程运行良好,但对于“bash”则是另一回事——它的 ID 与“ruby”一起上升。

这是我遵循的教程

.bash_profile在问题出现之前添加的内容是:

export ARCHFLAGS="-arch x86_64"
export PATH=/usr/local/share/python:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
test -f ~/.bashrc && source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

terminal bash osx-mountain-lion macos

4
推荐指数
1
解决办法
5518
查看次数

在命令行上使用 for 循环 - 变量不起作用?

命令行上的简单 for 循环:

cobrakai$for((i=1;i<=10;i+=1)); do echo "Welcome $i times"; doneWelcome 1 times
Welcome 2 times
Welcome 3 times
Welcome 4 times
Welcome 5 times
Welcome 6 times
Welcome 7 times
Welcome 8 times
Welcome 9 times
Welcome 10 times
Run Code Online (Sandbox Code Playgroud)

...如果我想输入日期命令,我可以这样做:

cobrakai$for((i=1;i<=10;i+=1)); do  echo $(date -v -1d "+%Y-%m-%d"); done
2013-08-04
2013-08-04
2013-08-04
2013-08-04
2013-08-04
2013-08-04
2013-08-04
2013-08-04
2013-08-04
2013-08-04
Run Code Online (Sandbox Code Playgroud)

但是,当然,我实际上希望日期倒计时,所以我用 $i 代替 1 但发现我得到了......

for((i=1;i<=10;i+=1)); do  echo $(date -v -$id "+%Y-%m-%d"); done
-: Cannot apply date adjustment
usage: date [-jnu] [-d …
Run Code Online (Sandbox Code Playgroud)

bash command-line

4
推荐指数
1
解决办法
592
查看次数

标签 统计

bash ×10

linux ×5

command-line ×2

git ×1

macos ×1

osx-mountain-lion ×1

passwords ×1

recursive ×1

sed ×1

ssh ×1

su ×1

terminal ×1

tmux ×1

unix ×1

zsh ×1