# Why SED over sed?

I was browsing edits, and I noticed a change from sed to SED. This came in parallel with a change from awk to AWK. I follow the capitalization of AWK. Not sure that I agree, but AWK is an acronym for the authors' names and is capitalized when referring to the language. However, sed is not an acronym. It's an abbreviation of stream editor. If anything, I'd write it SEd.

In both cases though, the real use of the terms there is as Unix commands. The Unix commands are written in lower case. If you tried to write them in upper case, they probably wouldn't work. Unix is case sensitive. Only probably because someone could have created a link or alias to make it work.

If I were writing that phrase, I would have written it "grep, sed, or awk" or maybe "grep or sed (or awk)". The backticks would indicate that I was using it in a coding way, almost like a function. Because this would be referring to the commands, I would use lower case for each.

Note: I tagged this specific-question and editing because it was an edit to a specific question that brought this to my attention. But my main concern is the standard. When I post, am I supposed to be following some standard? If so, is it stated more generally somewhere?

• Yes, it must've been a misunderstanding on my part. It could still be corrected. – Jamal Dec 7 '14 at 18:06
• @Jamal I don't know that it's important to correct. It's just that under similar circumstances (already editing), I might make the reverse edit. I don't want to start edit wars over something relatively trivial, so I'd prefer to know policy before trying to implement it. – Brythan Dec 7 '14 at 18:09

All languages have a name, and when talking about that language, it's official name should be used. For example, it's “Java“ and not “JAVA”. Sometimes, the name of a language is the same as name of the primary implementation. For example, the system's sed implementation is usually called sed while AWK's interpreter is called awk. Here, capitalization can indicate whether we are talking about the language or the interpreter. A subtle example regarding the Perl language, which is implemented by the perl interpreter:

Only perl can parse Perl.

But Python is different, where the reference implementation is called CPython but the binary is named python.

Sources for sed and AWK capitalization:

So, what is a good policy regarding edits?

• Unless you are sure about the proper capitalization of a language's name, do not correct it.
• If you do know the proper name, make sure that “wrong” capitalization isn't used to refer to something related such as a language implementation.
• Only then correct the post.
• If you are correcting an edit of someone else than the original poster, consider use the edit message to refer to an authoritative source of the programming language's spelling. The language's home page will do nicely.

Code markup should be used for code. However, shell commands and therefore the names of binaries are a kind of code, so I'd use it for them as well. To make something like a name stand out, consider using italics.

Also, I think we are taking this a tad too seriously.

• Your opinion about how serious this is might change as traffic increases. Over on SO, there's one guy that constantly makes edits like this (changing SASS to Sass). I follow the active questions and for a while, it was pretty common to see 3-4 edits a day done by them on exceptionally old questions. – cimmanon Dec 9 '14 at 20:15

I think correcting "sed" to "SED" was a simple mistake.

In that sentence, I'd do exactly as what you suggested: use code style for grep, awk and sed, since they are not English words, and we're talking about command names.

In any case, I don't think this matters too much. If a moderator changed "sed" to "SED" in my post, I might not care enough to correct it. If I do care, I would simply change it back. The best would be probably to give a gentle nudge to the mod that "sed" is more correct than "SED".

When I post, am I supposed to be following some standard?

Definitely :)

If so, is it stated more generally somewhere?

The fact that awk is AWK and sed is, well, "sed", or SEd, is not our standard. So in this matter, I think the standard to follow is the "global standard", if there is such a thing, and depends on the context. Like for Python there is PEP8, and for Java there is JLS.