【问题标题】:Awk doesn`t work when it run at other pathawk 在其他路径上运行时不起作用
【发布时间】:2018-01-03 18:09:28
【问题描述】:

./oppa/loadParesr/spliter.sh [文件名]

spliter.sh

#!/bin/sh
sort -k 1V,1 -k 2n,2 $1 -o $1
awk `{close(f);f=$1}{print > f".bed"}`

我尝试在其他路径上运行这个 shell。排序命令运行良好,但 awk 不起作用,我不知道为什么。

【问题讨论】:

  • “不起作用”没有描述问题;请更具体。
  • 用单引号替换两个反引号。
  • 顺便说一句:sh 不是 bash。
  • @EdMorton 谢谢你的回答。现在它是完美的......现在我感到羞耻......

标签: linux bash shell awk path


【解决方案1】:

关闭您正在写入的文件,而不仅仅是文件名的一部分,并始终引用您的 shell 变量,例如:

awk '{close(f); f=$1".bed"; print > f}' "$1"

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2014-07-06
    • 2018-11-16
    • 2019-11-03
    • 2012-06-11
    • 1970-01-01
    相关资源
    最近更新 更多