如何在sh/bash中用cut命令仅处理文本首行而非多行?
提取文件首行的
export k解决方案 要只提取文件首行的export k,核心是先仅获取文件的第一行,再对该行进行切割处理,避免cut命令遍历所有行。以下是两种在sh和bash中都兼容的实现方式:
方法一:结合head和cut
先用head -n 1提取文件第一行,再用cut按等号分割取第一部分:
head -n 1 filename | cut -d "=" -f 1
head -n 1 filename:仅读取文件的第一行内容- 管道传递给
cut后,只会处理这一行,最终输出export k
方法二:用sed直接处理首行
通过sed定位第一行,替换掉等号及之后的所有内容:
sed -n '1s/=.*//p' filename
-n:关闭默认的逐行打印1s/=.*//p:仅对第1行执行替换操作,把=开头的所有内容替换为空,最后打印处理后的行
以上两种方法都能准确提取目标内容,且完全兼容sh和bash环境。
内容的提问来源于stack exchange,提问作者Amin Ba
相关产品推荐
相关产品推荐

