如何使用剪切仅打印命令输出的一行?

时间:2018-12-05 03:47:16

标签: shell text command line cut

我已经为测试目的编写了一个shell脚本,如下所示:

#!/bin/sh 
echo 'line 1\n line2\n line3'

我试图通过使用cut命令仅打印一行:

echo $(./myScript.sh | cut -d$'\n' -f1)

在上面的示例中,我的意图是使其打印“ line1”。用-f2替换-f1会使它打印“ line2”,或者我想。

相反,我的输出看起来像这样:

line1 line2 line3

类似地,如果我将定界符从$'\ n'更改为其他内容,例如:

echo $(./myScript.sh | cut -d'e' -f1)

输出变为:

lin lin lin

因此,它似乎在每行的任何定界符之前打印第一个字段,而不是打印myScript.sh的整个输出。如何使cut命令适用于整个字符串而不是每一行?另外,还有什么其他命令可以更好地达到此目的呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一种看起来像这样的方法:

def get_absolute_url(self):
    return reverse('post:detail', kwargs={'pk': self.pk})