Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

60%
+1 −0
Q&A Project's name from command line

You could opt for using sed, which is available by default on most systems and is available even for Windows. The invocation I cooked up should work with non-GNU versions as well. Dissected for the...

posted 9mo ago by Riven Skaye‭

Answer
#1: Initial revision by user avatar Riven Skaye‭ · 2025-12-10T15:02:55Z (9 months ago)
You could opt for using `sed`, which is available by default on most systems and is available even for Windows. The invocation I cooked up should work with non-GNU versions as well. Dissected for the unfamiliar reader's understanding

```sh
# sed -n => no output except what is specifically requested
# Single quotes prevent a lot of messy double escaping with shells that do 
#     interpolation and interpretation of escape sequences with double quotes
# s/.../ => substitute command
# [[:space:]] => the builtin whitespace group
# * => match zero or more times
# name => literal string
# \+ => match one or more times. TOML doesn't mandate spaces around the equals
#     sign, but any formatter and sane person adds them anyway
# = and " => literal symbols
# \(...\) => regex matching group for later use
# [a-zA-Z0-9_] => ASCII letters, numbers, and underscore
# \1 => replace everything matched with just group 1 (the only group here)
# /p => print this output (required because of sed -n)

sed -n 's/[[:space:]]*name[[:space:]]\+=[[:space:]]\+"\([a-zA-Z0-9_]\+\)"/\1/p' pyproject.toml
```
Which prints no more or less than `foo`