希望相当简单,当我运行以下命令(OS X 10.6)时解释用例:
$ pwd | pbcopy
粘贴板的末尾包含换行符。我想摆脱它。
Answers:
pwd | tr -d '\n' | pbcopy
alias copy="tr -d '\n' | pbcopy"
。
head -c -1
。 taylor.woodstitch.com/linux/…–
alias cpwd="pwd | tr -d '\n' | pbcopy"
:)
alias pbc='xargs echo -n | pbcopy'
printf $(pwd) | pbcopy
要么
echo -n $(pwd) | pbcopy
请注意,如果目录名称中包含空格字符,则应使用引号。例如:
echo -n "$(pwd)" | pbcopy
printf '%s' $(pwd) | pbcopy
echo -n "text "
"text \c"
我写了一个工具noeol
来解决这个问题。它通过管道将stdin传递到stdout,但如果有末尾的换行符,则将其结尾。例如
pwd | noeol | pbcopy
…我别名copy
为noeol | pbcopy
。
在这里查看:https : //github.com/Sidnicious/noeol
对我来说,我对tr -d '\n'
方法有疑问。在OSX上,我碰巧通过安装了coreutils软件包brew install coreutils
。这提供了所有“标准” GNU实用程序,g在它们的典型名称之前都带有前缀。因此,head
将ghead
例如。
IMO可以更安全地使用它:
pwd | ghead -c -1 | pbcopy
您可以od
用来查看输出情况:
$ pwd | ghead -c -1 | /usr/bin/od -h
0000000 552f 6573 7372 732f 696d 676e 6c6f 6c65
0000020 696c
0000022
与
$ pwd | /usr/bin/od -h
0000000 552f 6573 7372 732f 696d 676e 6c6f 6c65
0000020 696c 000a
0000023
区别?
的00
和0a
是一个NUL和换行符hexcodes。该ghead -c -1
交给受之前仅仅是“要吃掉”从输出的最后一个字符| pbcopy
。
$ man ascii | grep -E '\b00\b|\b0a\b'
00 nul 01 soh 02 stx 03 etx 04 eot 05 enq 06 ack 07 bel
08 bs 09 ht 0a nl 0b vt 0c np 0d cr 0e so 0f si
~
)的“转到”字段中,则只需使用pwd | pbcopy
,在文本字段中粘贴,然后按退格键即可。