Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
September 04, 2019 How to use xargs to remove whitespaces (Dub executable path) | ||||
---|---|---|---|---|
| ||||
Hi, I try to get the executable path from a dub package using this command: dub describe dscanner --data=target-path,target-name --data-list | xargs But the output always contains a space between target-path and target-name: /home/user/.dub/packages/dscanner-0.8.0/dscanner/bin/ dscanner How can I get the full path without a space on a debian system in a 1 liner? Kind regards André |
September 03, 2019 Re: How to use xargs to remove whitespaces (Dub executable path) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre Pany | On Wed, Sep 04, 2019 at 05:52:12AM +0000, Andre Pany via Digitalmars-d-learn wrote: > Hi, > > I try to get the executable path from a dub package using this command: > > dub describe dscanner --data=target-path,target-name --data-list | xargs > > But the output always contains a space between target-path and target-name: /home/user/.dub/packages/dscanner-0.8.0/dscanner/bin/ dscanner > > How can I get the full path without a space on a debian system in a 1 liner? [...] Try: ... | sed -e's@ @@g' T -- Elegant or ugly code as well as fine or rude sentences have something in common: they don't depend on the language. -- Luca De Vitis |
September 04, 2019 Re: How to use xargs to remove whitespaces (Dub executable path) | ||||
---|---|---|---|---|
| ||||
Posted in reply to H. S. Teoh | On Wednesday, 4 September 2019 at 06:40:13 UTC, H. S. Teoh wrote:
> On Wed, Sep 04, 2019 at 05:52:12AM +0000, Andre Pany via Digitalmars-d-learn wrote:
>> Hi,
>>
>> I try to get the executable path from a dub package using this command:
>>
>> dub describe dscanner --data=target-path,target-name --data-list | xargs
>>
>> But the output always contains a space between target-path and target-name: /home/user/.dub/packages/dscanner-0.8.0/dscanner/bin/ dscanner
>>
>> How can I get the full path without a space on a debian system in a 1 liner?
> [...]
>
> Try:
> ... | sed -e's@ @@g'
>
>
> T
Thanks a lot. Works fine:)
dub describe dscanner --data=target-path,target-name --data-list | xargs | sed -e's@ @@g'
Kind regards
André
|
September 04, 2019 Re: How to use xargs to remove whitespaces (Dub executable path) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre Pany | On Wednesday, 4 September 2019 at 08:23:19 UTC, Andre Pany wrote:
> On Wednesday, 4 September 2019 at 06:40:13 UTC, H. S. Teoh wrote:
>> On Wed, Sep 04, 2019 at 05:52:12AM +0000, Andre Pany via Digitalmars-d-learn wrote:
>>> Hi,
>>>
>>> I try to get the executable path from a dub package using this command:
>>>
>>> dub describe dscanner --data=target-path,target-name --data-list | xargs
>>>
>>> But the output always contains a space between target-path and target-name: /home/user/.dub/packages/dscanner-0.8.0/dscanner/bin/ dscanner
>>>
>>> How can I get the full path without a space on a debian system in a 1 liner?
>> [...]
>>
>> Try:
>> ... | sed -e's@ @@g'
>>
>>
>> T
>
> Thanks a lot. Works fine:)
> dub describe dscanner --data=target-path,target-name --data-list | xargs | sed -e's@ @@g'
It's better to only replace the last occurrence, so it won't break on
paths containing spaces:
... | sed 's/\(.*\) /\1/'
There should probably just be a switch to use NUL characters as the
delimiter though.
|
September 04, 2019 Re: How to use xargs to remove whitespaces (Dub executable path) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre Pany | On Wednesday, 4 September 2019 at 05:52:12 UTC, Andre Pany wrote: > Hi, > > I try to get the executable path from a dub package using this command: > > dub describe dscanner --data=target-path,target-name --data-list | xargs > > But the output always contains a space between target-path and target-name: > /home/user/.dub/packages/dscanner-0.8.0/dscanner/bin/ dscanner > > How can I get the full path without a space on a debian system in a 1 liner? > > Kind regards > André What about this? dub describe scanner --data=target-path,target-name --data-list --data-0 | tr -d '\0' or if you have jq installed: dub describe dscanner | jq '.targets[0].buildSettings | "\(.targetPath)/\(.targetName)"' |
September 04, 2019 Re: How to use xargs to remove whitespaces (Dub executable path) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sebastiaan Koppe | On Wednesday, 4 September 2019 at 10:34:28 UTC, Sebastiaan Koppe wrote:
> On Wednesday, 4 September 2019 at 05:52:12 UTC, Andre Pany wrote:
>> Hi,
>>
>> I try to get the executable path from a dub package using this command:
>>
>> dub describe dscanner --data=target-path,target-name --data-list | xargs
>>
>> But the output always contains a space between target-path and target-name:
>> /home/user/.dub/packages/dscanner-0.8.0/dscanner/bin/ dscanner
>>
>> How can I get the full path without a space on a debian system in a 1 liner?
>>
>> Kind regards
>> André
>
> What about this?
> dub describe scanner --data=target-path,target-name --data-list --data-0 | tr -d '\0'
>
> or if you have jq installed:
> dub describe dscanner | jq '.targets[0].buildSettings | "\(.targetPath)/\(.targetName)"'
Thanks to all! Yes replacing spaces with NUL really makes sense.
Kind regards
André
|
Copyright © 1999-2021 by the D Language Foundation