shell-一些小问题

1 单词统计
cat words.txt | tr -s ’ ’ ‘\n’ | sort | uniq -c | sort -r | awk ‘{ print 2,1 }’
结果:
f 3
sd 1
ok. 1
Im 1
Ihe 1
hsha 1
fsdjfjsaf 1
fd 1
fas 1
ds 1
asd. 1
2 top K
Given [1,1,1,2,2,3] and k = 2, return [1,2].
public List topKFrequent(int[] nums, int k) {

List<Integer>[] bucket = new List[nums.length + 1];
Map<Integer, Integer> frequencyMap = new HashMap<Integer, Integer>();

for (int n : nums) {
    frequencyMap.put(n, frequencyMap.getOrDefault(n, 0) + 1);
}

for (int key : frequencyMap.keySet()) {
    int frequency = frequencyMap.get(key);
    if (bucket[frequency] == null) {
        bucket[frequency] = new ArrayList<>();
    }
    bucket[frequency].add(key);
}

List<Integer> res = new ArrayList<>();

for (int pos = bucket.length - 1; pos >= 0 && res.size() < k; pos--) {
    if (bucket[pos] != null) {
        res.addAll(bucket[pos]);
    }
}
return res;

}

合法IP:(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d).(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)
手机号码:0?(13|14|15|18)[0-9]{9}

 (xxx) xxx-xxxx or xxx-xxx-xxxx. (x means a digit):grep -P ‘^(\d{3}-|(\d{3}) )\d{3}-\d{4}file.txtfile.txtsednr/([09]3|([09]3))[09]3[09]4/p’ file.txt
awk ‘/^([0-9]{3}-|([0-9]{3}) )[0-9]{3}-[0-9]{4}/file.txtawk/([[:digit:]]3|([[:digit:]]3))[[:digit:]]3[[:digit:]]4/’ file.txt

指定输出文件的第几行:比如第10行
awk ‘NR==10’ file.txt
sed -n ‘1p;’ file
多行:
awk ‘NR==1||NR==4||NR==7||NR==9’ file
sed -n ‘1p;4p;7p;9p’ file

<think>好的,我现在要回答用户关于Shell-b参数的使用说明或功能介绍的问题。首先,我需要回忆一下Shell中常见的参数,尤其是各个命令的不同选项。用户提到的-b参数可能属于某个特定的Shell命令,比如find、grep或者bash本身?但通常来说,-b这样的选项在不同的命令中有不同的含义,所以需要先确定具体是哪个命令的-b参数。 不过,用户的问题中直接提到“Shell -b参数”,可能指的是Shell本身的选项,而不是某个外部命令。在Unix/Linux的Shell中,比如bash,启动时可以使用一些选项,例如-c表示执行命令,-i表示交互模式等。但bash的选项里是否有-b呢?我需要核实一下。 查阅bash的手册页,或者使用man bash命令查看选项部分。找到之后,发现bash的选项包括-c、-i、-s等,但没有提到-b。这时候可能需要考虑其他Shell,比如sh或者zsh,但通常用户默认使用bash的情况较多,可能用户的问题有误,或者-b属于某个特定命令的参数。 另外,用户提供的引用中有提到eval语句、小括号和花括号的区别、shell脚本中的echo颜色设置等,但这些引用中并没有直接涉及-b参数的信息。例如,引用[3]提到父shell和子shell,引用[5]提到grep的用法,但可能用户的问题中的-b参数可能和某个命令相关,比如grep的-b选项? 比如,grep命令的-b选项是显示匹配行前面所在的块号,或者在某些版本中表示显示匹配行的字节偏移。例如,在GNU grep中,-b或--byte-offset会输出匹配行在文件中的字节偏移量。这时候,如果用户的问题中的-b参数是指grep命令的选项,那需要解释这个。 但用户的问题是关于Shell-b参数,可能混淆了Shell内置命令和外部命令的参数。例如,在编写Shell脚本时,可能某些命令的参数是-b。例如,find命令的某些参数,或者可能是其他工具的参数。 或者,可能用户指的是shell脚本中的set命令的参数,例如set -b会启用某种选项。在bash中,set命令用于设置Shell选项,比如set -e使脚本在出错时退出,set -x显示执行的命令等。查阅set的选项,是否有-b参数? 根据bash的文档,set -b的作用是立即通知任务完成,即当后台任务终止时立即报告状态,而不是等待下一个提示符。例如,当运行一个后台作业时,默认情况下,Shell会在准备读取下一个命令时报告作业完成,但使用set -b后,会在作业终止时立即显示状态信息。这可能就是Shell-b参数的作用。 因此,正确的回答应该解释Shell中set命令的-b选项的作用,即立即报告后台作业的终止状态。需要确认这一点是否正确。可能还需要提供例子,比如在脚本中使用set -b或者在命令行中使用,并说明其效果。 同时,根据用户提供的引用,可能需要结合引用中的内容,比如引用[3]提到父shell和子shell的关系,可能与作业控制有关,但不确定是否有直接关联。不过引用中的内容更多是关于shell的基本结构、eval、子shell等,可能和-b参数没有直接联系,所以回答中可能不需要引用这些内容,除非有相关的地方。 总结步骤: 1. 确定用户询问的是Shell本身的参数,还是某个命令的参数。 2. 假设用户指的是Shell(如bash)的参数,检查set命令的选项。 3. 发现set -b的作用是立即通知后台作业完成。 4. 准备解释该参数的功能,并给出使用示例。 5. 生成相关问题,如其他Shell选项的作用、后台作业管理等。</think>在Shell中,`-b`参数通常与**作业控制**相关,主要功能是**立即通知后台作业的终止状态**。具体来说,当使用`set -b`或`set -o notify`时,Shell会在后台作业结束的第一时间通知用户,而不是等待用户输入下一条命令时才显示状态[^3]。 ### 使用说明 1. **启用功能**:在Shell中执行`set -b`或`set -o notify`。 2. **效果示例**: ```bash # 启用立即通知 set -b # 启动后台作业 sleep 5 & # 5秒后立即显示作业终止状态,无需等待用户输入 ``` 未启用时,后台作业的状态会在用户输入新命令时显示。 ### 典型应用场景 - 需要实时监控后台任务完成状态时。 - 脚本中需同步处理多个后台任务的输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值