我正在寻找单词gmail或outlook目录。尽管其中有一些行被注释掉gmail了outlook。grep我该怎么办?
我尝试了很多东西,但我想它会是这样的:
grep "^[^#;]" | egrep -i "gmail|outlook" *.ksh > a.log
Run Code Online (Sandbox Code Playgroud) 我今天使用 root 用户在我的服务器上犯了最大的错误:
chown -R 33:33 /
Run Code Online (Sandbox Code Playgroud)
而不是chown -R 33:33 .在某个 webroot 文件夹中。
嗯,这被ssh打倒了。我做了这么远让它再次工作,到目前为止apache,mysql并且php仍在工作,但我不知道我是否曾经重新启动它们,或者服务器是否会在重新启动时失败。
是否有任何“索引”或包可以将这些权限恢复为正确的/以前的权限?
这是帮助我实现并中止该操作的控制台输出:
我能做些什么来恢复吗?
只是试图在文本的每一行的第 7 个之后剪切任何字符。
我最初尝试过这个:
sed 's/(.{7}).*/\1/' TestText.txt
Run Code Online (Sandbox Code Playgroud)
但得到了这样的回应:
sed: 1: "s/(.{7}).*/\1/": \1 not defined in the RE
Run Code Online (Sandbox Code Playgroud)
然后尝试了这个:
$ sed 's/./&#/7' TestText.txt
Ballbou#nce
Latllma#tattjsdf
dsfase,#d,
adfadfj#jen
asdfjov#moeo
$ sed -e 's/#.*//' TestText.txt
Ballbounce
Latllmatattjsdf
dsfase,d,
adfadfjjen
asdfjovmoeo
Run Code Online (Sandbox Code Playgroud)
但它所做的只是删除了#. 我只想删除第 7 个字符之后的任何字符。
在我的 debian 服务器上,当对 sudoers 文件或任何包含目录没有任何权限的用户调用 时sudo -l,他会获得标准的“责任标头”并提示输入密码。
是否可以允许系统上的所有用户调用该sudo -l命令而无需指定其密码?最好,如果用户没有权限,它应该只报告。
我有两个文件,其中一个有 10 条记录,另一个有 15 条记录,问题是当我将cat它们放在一起时,总是FNR=NR.
例如,考虑以下文件:
文件1:
1,boo
2,foo
3,boo
Run Code Online (Sandbox Code Playgroud)
文件2:
1,boo
2,foo
3,boo
4,foo
Run Code Online (Sandbox Code Playgroud)
应用以下代码时:
cat File1 File2 | awk -F, '{print FNR}'
Run Code Online (Sandbox Code Playgroud)
结果应该是:
1
2
3
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
但我实际上拥有的是FNR= 1 到 7。
重定向:$PROMPT上次执行的命令stdout并重定向stderr到单个文件的最短方法是什么?
当然,我们可能会使用&>重定向stdout和stderr进入单个文件,然后分别在文件的开头和结尾添加$PROMPT和$!!。
我想将我的日志文件视为:
$PROMPT: $LAST_EXECUTED_COMMAND
$STOUD_STDERR
$PROMPT
Run Code Online (Sandbox Code Playgroud) 我写了一个awk命令尝试计算特定列的总值,但发生了意想不到的事情:
# THE CONTENT OF TEST FILE
1
2
3
4
# MY AWK COMMAND
awk 'BEGIN {total=0} {print $1; $total=$total+$1; print $1, $total} END {print $total}' test
# RESULT
1
2 2
2
4 4
3
6 6
4
8 8
8
Run Code Online (Sandbox Code Playgroud)
显然, 的值在$1之后发生了变化$total=$total+$1。
但我想我没有为 重新分配值$1,为什么它意外改变了,如何解决?
所以我有一个脚本,它使用$1.audio文件中的音频将 2 部电影添加到一起。我想做的是重命名目录中的任何文件:
*.mp4
Run Code Online (Sandbox Code Playgroud)
到:
*.audio
Run Code Online (Sandbox Code Playgroud)
保留原始文件名。
我想补充:
function ps_mem {
python /home/vagrant/ps_mem/ps_mem.py -p $@
}
Run Code Online (Sandbox Code Playgroud)
~/.bashrc从命令行结束。我试过使用:
printf "function ps_mem {\n python /home/vagrant/ps_mem/ps_mem.py -p $@ \n}" >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
虽然它几乎起作用了,但输入字段$@被忽略了,使得:
function ps_mem {
python /home/vagrant/ps_mem/ps_mem.py -p
}
Run Code Online (Sandbox Code Playgroud)
而是添加到~/.bashrc.
在我的脚本中,我使用了 2 个变量:
integer CCD_COUNT1= `grep '.CCD' $TMP_RPT_FILE1 | wc-l`
Run Code Online (Sandbox Code Playgroud)
它返回整数值假设47。
另一个变量:
integer CCD_COUNT=`grep '.CCD' $TMP_RPT_FILE | wc -L `
Run Code Online (Sandbox Code Playgroud)
它还返回整数值假设1。
如何添加整数$CCD_COUNT1和$CCD_COUNT,以便它给出48?