我在cut命令中遇到错误,并试图找到解决方案,但没有帮助。我有一个以制表符分隔的文件,我通过管道将制表符替换为逗号。然后我通过管道使用cut --complement去掉特定的列,但是我得到了这个错误:
cut: [-cf] list: illegal list value我的命令:
cat input.txt | grep -v '#' | tr '\t' ',' | cut -d ',' -f2,3,4,5,6 --complement | head当我删除--complement时,它会打印2,3,4,5,6列,但使用--complement时,它不起作用。
任何帮助都将不胜感激。
发布于 2020-07-07 20:27:18
BSD cut没有--complement选项。在此特定情况下,您可以使用:
cut -d , -f 1,7-而不是
cut -d ',' -f2,3,4,5,6 --complement发布于 2020-07-07 20:26:49
使用awk
awk '/#/{next}{for(i =2;i<7;i++)$i=$(i+5);NF-=5}1;' FS=\\t OFS=, input.txt(请注意:这是我第一次用手机发帖。我在termux中使用smtx测试了上面的代码。but...expect剪切和粘贴错误!)
https://stackoverflow.com/questions/62774758
复制相似问题