【发布时间】:2018-10-23 08:29:24
【问题描述】:
感谢你们的帮助; cut 命令仅在单个字符搜索后截断[将行分成字段],因此在某些情况下它不如 sed 有用 这里 cut -d ' ' -f1 // -d ' ' 使用空格作为将行拆分为字段的位置,由 -f# 表示,使用 -d '-' 溢出 man -k 。用 | 进入可用的 f1 和 f2像这样我不确定是什么 &| 2?> 的意思是它以某种方式将返回值传递给下一个函数。我不知道为什么这很有用。 人-k。 &| cut -d '-' -f2 应该得到命令的描述
虽然 grep -o 看起来很有用 grep -v 似乎坏了 tr 和 split 命令似乎没用,因为我似乎可以通过管道将数据传入/传出该命令
我一直在尝试在空格后截断行输入,但我并没有真正得到我想要的结果。我试过 split sec cat tr 命令,但我还不能解析数据文件。使用man bash 并在那里我发现了 sys 变量IFS="" 我将其设置为默认值。在bash -i 交互模式下,我没有看到任何积极的结果。设置 IFS 后,我在使用 '>' 进行管道传输时会出现不明确的重定向错误。
基本上尝试这个命令:
man -k [:alnum:] > $HOME/Documents/fcList.txt && shuf -n 1 $HOME/Documents/fcList.txt
我想解析fcList.txt 以在[[:space:]] 之前加上行号或人的第一个单词。这样我就可以查看一个随机的手册页条目并学习一些东西。即使在鼠标垫文本编辑器中,我也无法找到以"[[:space:]](*" 或" (" 开头的字符串并将其替换为行尾。
到目前为止,我已经四处搜索并尝试了 IRC #BASH,但没有任何帮助。这看起来很有希望
IFS=: read -ra arr < <(grep "^$USER:" /etc/passwd)
for a in "${arr[@]}"; do echo "[$a]"; done
但是,这样做我的元素是这样分解的:
[Text]
[]
[Levenshtein (3pm) - calculate the Levenshtein edit distance between two...]
我基本上想提取 Levenshtein 部分并将其作为“man Levenshtein”运行以完成我的 ranman 脚本。
此命令不起作用 -m 1 表示查找第一个匹配项
cat $HOME/Documents/out.txt | grep -m 1 ^.[[\(]*.[[:alnum:]]?.[\)].*[[:space:]].*[[:alnum:]]]
?、^、*、# 字符是否应该在 . 之后(这是串联吗?)
据我了解,^ 不是,* 表示多个字母,而? 表示一次匹配——c[ao]t 既是 cat 又是 cot。
还尝试了括号不帮助我将 out.txt 发送到 grep 命令
cat $HOME/Documents/out.txt | ( grep -m 1 .^[[\(].*[[:alnum:]].?[\)]*.[[:space:]]*.[[:alnum:]]] )
有一个名为 accessdb 的命令试图解析 var/cache/man/index.db 它可能有其他命令来帮助 wc 高于 apropos 。或 man -k ''
谢谢大家 -- 但是虽然我的目标已经通过您的有用答案实现了,但我仍然不知道如何使用 sed 或 grep 正确截断。我猜是 。在 Linux 中不是串联。我可能已经通过 cut 学到了足够的知识来制作包含以下字段的 dat 文件? a b c d ... ~correctAnswer 我想学习 [0 ... MAX] 格式我想我可以制作一个多选提问者 dat 文件。也许稍后尝试将命令与描述相匹配。
最后,我想研究 ZeVeRoH,它就像线性代数与数独的混合,一切都加到零,你必须在矩阵中选择 +/-。
【问题讨论】:
-
请问您能edit您的问题以改进格式吗?
-
我试图清理一下您的帖子,但遗憾的是您的帖子确实令人困惑且不清楚。你能试着分解你的问题并写下一个清晰的问题陈述吗? (1) 这就是我想要的 (2) 这是我卡住的地方 (3) 这是我尝试过的 (4) 这是我的输入 (5) 这是我得到的输出 (6) 这是是我想要的输出。 minimal reproducible example
-
我编辑了它。是的,它令人困惑,但非常有帮助的 man bash 冗长也是如此。
标签: bash shell ubuntu truncate