bash - awk:第 1 行:在或附近出现语法错误,需要一些 bash 帮助
问题描述
这是代码,CN 部分正在工作,但是 awk ......
我在外面运行函数,看起来很清楚。我刚遇到 bash :(
windowsearch()
{
starting_line_number=$1
ending_line_number=$2
position=$3
file_name=$4
CN=$(head -40 "$4" | sed -n "$starting_line_number","$ending_line_number p" )
awk -v CN="$CN" -F "\t" '{ print CN }' "$file_name" | sort -n -k"$position"
}
windowsearch 10 20 2 $imdbdir/tsv2/title.principals.tsv
所需的输出如下:
应该产生:
tt0000009 nm0085156,nm0063086,nm1309758,nm0183823
tt0000014 nm0166380,nm0525910,nm0244989
tt0000010 nm0525910
tt0000016 nm0525910
tt0000012 nm0525910,nm0525908
tt0000015 nm0721526
tt0000018 nm0804434,nm3692071
tt0000019 nm0932055
tt0000013 nm1715062,nm0525910,nm0525908
tt0000017 nm3691272,nm0804434,nm1587194,nm3692829
tt0000011 nm3692297,nm0804434
但我的输出给了我文件中的所有数据。所以,我认为我的过滤器不起作用。
编辑:对不起,这是我的第一个问题。
解决方案
我对你意图的解释
您想根据给定的列对文件中的一系列行进行排序。
$ awk -v start=10 -v end=20 'start<=NR && NR<=end' | sort -n k2
只需在脚本中参数化输入值
推荐阅读
- javascript - 如何映射所有 formData 整体以上传到 Firebase?
- twitter-bootstrap - 导航栏不起作用,但它是 ctrl c ctvl v 代码
- php - 具有权限的 URI 的路径必须以斜杠“/”开头或为空。DigitalOcean Spaces AWS S3 开发工具包 PHP
- pixel - FB PIXEL:ViewContent 标准事件
- angular - 打字稿:命名箭头函数的类型在 Jasmine 单元测试中为 spyOn() 引发 TS 错误
- ios - 在 Swift 应用程序中获取 Firestore 数据而不将数据附加到数组
- r - 如何在 R ggplot 中动态更改圆形的大小和填充颜色?
- firebase - 如何更新 Firestore 中的 ReorderableListView 位置?
- flutter - 如何更改轮廓边框的颜色?
- javascript - React 键盘事件也会触发 SyntheticBaseEvent