English character frequencies are amenable to online search. See for example The frequency of the letters of the alphabet in English.
Your second problem of frequencies of position in a word of specified length has to be coded. As a coding question it belongs on another site. Nevertheless, it is impossible to fit this into the format of a comment, so I have answered it here only so as to give a pointer to how it may be done.
One of the many ways is to code in Mathematica (see the sister Stack Exchange site) and to use the built-in dictionary of almost a hundred thousand words.
Here is the answer to your specific 5 word & 4th character query but it is simple to make a routine to examine any length (n) of word and any character (m) within the words:
From which you may see that the most common fourth letter in five letter words is "e".
(My coding is pretty basic and could be briefer in the hands of a more competent Mathematica user)
Here is the text version of the code:
(*Look up all words in the Mathematica Dictionary and convert to lowercase*)
allwords = ToLowerCase[DictionaryLookup[]];
(*Find all words with length n*)
words[n_] := Select[allwords, StringLength[#] == n &];
(*Find the mth character in the list of n letter words*)
wordNcharacterM[n_, m_] := Map[Take[#, {m}] &, Characters[words[n]]];
(*Total number of characters found*)
totalChars[n_, m_] :=
Total[Tally[wordNcharacterM[n, m]]\[Transpose][[2]]];
(*Tabulate the results of a tally of the numbers of characters found*)
table[n_, m_] :=
Map[{#[[1]], #[[2]], N[100 #[[2]]/totalChars[n, m], 2]} &,
Tally[wordNcharacterM[n, m]]];
(*Construct a title table*)
tableOut[n_, m_] :=
Join[{{{"word", n}, {"character", m}, " "}}, {{{"letter"}, "number",
"%"}}, table[n, m]];
(*Present the table*)
outputWordNMCharacterM[n_, m_] :=
Join[{{{"word", n}, {"character", m}, " "}}, {{{"letter"}, "number",
"%"}}, ReverseSort[table[n, m], #1[[2]] < #2[[2]] &]];
(*Present the table*)
outputWordNMCharacterM[n_, m_] :=
Join[{{{"word", n}, {"character", m}, " "}}, {{{"letter"}, "number",
"%"}}, ReverseSort[table[n, m], #1[[2]] < #2[[2]] &]];
(*Present the table*)
outputWordNMCharacterM[n_, m_] :=
Join[{{{"word", n}, {"character", m}, " "}}, {{{"letter"}, "number",
"%"}}, ReverseSort[table[n, m], #1[[2]] < #2[[2]] &]];
(*Present the table for five letter words position 4*)
outputWordNMCharacterM[5, 4] // TableForm
sed, wc, cat
, etc. as long as you stick to ASCII text. Since you're dealing with English, no problem. But you'll hafta learn regular expressions.