You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash命令行从指定位置开始打印单行内容

Bash命令行打印内容及指定位置起始打印方法

基础打印内容的方式

  • 用echo直接输出文本,最简单直接:
    echo "One two three four five six"
    
  • 用printf做格式化输出,适合需要调整排版的场景:
    printf "%s\n" "One two three four five six"
    

从指定字段位置开始打印

要实现从第5个字段开始打印、输出单行"five six"的需求,这几种常用工具都能搞定:

方法1:用cut命令截取

cut可以按指定分隔符分割文本,直接截取第5个字段到末尾的内容:

echo "One two three four five six" | cut -d' ' -f5-

参数说明:

  • -d' ':指定空格作为字段分隔符
  • -f5-:表示截取第5个字段直至最后一个字段的所有内容

方法2:用awk命令处理

awk在文本字段处理上很灵活,通过循环输出从第5个字段开始的内容:

echo "One two three four five six" | awk '{for(i=5;i<=NF;i++) printf "%s ",$i; print ""}'
  • NF是awk内置变量,代表当前行的总字段数
  • 循环从第5个字段遍历到最后,逐个打印字段并添加空格,最后用print ""换行保证输出格式正确

方法3:用sed命令替换

通过正则匹配删除前4个字段及对应的空格,留下后面的内容:

echo "One two three four five six" | sed 's/^[^ ]* [^ ]* [^ ]* [^ ]* //'

正则表达式^[^ ]* [^ ]* [^ ]* [^ ]* 会匹配开头的4个字段和后面的空格,替换为空字符串后就得到从第5个字段开始的内容

内容的提问来源于stack exchange,提问作者Rami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:30:48