determining the number of digits in text file
I have a data file as follows:
15 01 01 00 00 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 01 00 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 02 01 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 03 01 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
I need to count the digit number of the value in the first line and fourth column then I need to determine this digit number as a variable as follows:
first line and fourth column: 00
digit_number=2
scripts
add a comment |
I have a data file as follows:
15 01 01 00 00 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 01 00 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 02 01 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 03 01 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
I need to count the digit number of the value in the first line and fourth column then I need to determine this digit number as a variable as follows:
first line and fourth column: 00
digit_number=2
scripts
Would be stack overflow the perfect place for this question?
– TDK
Jan 22 at 13:44
You can probably do this withsed
andawk
sed 's/[^0-9]//g' dat | awk '{ print length }'
I'm neither an expert insed
norawk
so I expect someone to tell me this is very wrong :-) (also this only counts up all the numbers rather than just the first line and fourth column, again not an awk expert)
– j-money
Jan 22 at 13:47
add a comment |
I have a data file as follows:
15 01 01 00 00 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 01 00 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 02 01 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 03 01 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
I need to count the digit number of the value in the first line and fourth column then I need to determine this digit number as a variable as follows:
first line and fourth column: 00
digit_number=2
scripts
I have a data file as follows:
15 01 01 00 00 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 01 00 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 02 01 0.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
15 01 01 03 01 30.0000000 0 22E19R13R12G15G26G24G21E20R19G13G18G29
I need to count the digit number of the value in the first line and fourth column then I need to determine this digit number as a variable as follows:
first line and fourth column: 00
digit_number=2
scripts
scripts
asked Jan 22 at 13:42
deepblue_86deepblue_86
5851024
5851024
Would be stack overflow the perfect place for this question?
– TDK
Jan 22 at 13:44
You can probably do this withsed
andawk
sed 's/[^0-9]//g' dat | awk '{ print length }'
I'm neither an expert insed
norawk
so I expect someone to tell me this is very wrong :-) (also this only counts up all the numbers rather than just the first line and fourth column, again not an awk expert)
– j-money
Jan 22 at 13:47
add a comment |
Would be stack overflow the perfect place for this question?
– TDK
Jan 22 at 13:44
You can probably do this withsed
andawk
sed 's/[^0-9]//g' dat | awk '{ print length }'
I'm neither an expert insed
norawk
so I expect someone to tell me this is very wrong :-) (also this only counts up all the numbers rather than just the first line and fourth column, again not an awk expert)
– j-money
Jan 22 at 13:47
Would be stack overflow the perfect place for this question?
– TDK
Jan 22 at 13:44
Would be stack overflow the perfect place for this question?
– TDK
Jan 22 at 13:44
You can probably do this with
sed
and awk
sed 's/[^0-9]//g' dat | awk '{ print length }'
I'm neither an expert in sed
nor awk
so I expect someone to tell me this is very wrong :-) (also this only counts up all the numbers rather than just the first line and fourth column, again not an awk expert)– j-money
Jan 22 at 13:47
You can probably do this with
sed
and awk
sed 's/[^0-9]//g' dat | awk '{ print length }'
I'm neither an expert in sed
nor awk
so I expect someone to tell me this is very wrong :-) (also this only counts up all the numbers rather than just the first line and fourth column, again not an awk expert)– j-money
Jan 22 at 13:47
add a comment |
2 Answers
2
active
oldest
votes
If you don't need to actually check that the value is a number, you can simply check the length of the 4th field from the 1st record
awk 'FNR == 1 {print length($4); exit}' file
To assign to a shell variable:
digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)
If you need to count how many digits are in the field, then you could modify the awk command to
awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file
Note that gsub
will return a count of decimal digits [0-9]
ignoring any non-digit characters in the field.
add a comment |
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d 'n' | wc -c)
Where:
head -1 {the file}
print the first line of the file
cut -d ' ' -f 4
takes the 4th space-delimited field
tr -d 'n'
removes the trailing lf
wc -c
counts the bytes in the result
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1111965%2fdetermining-the-number-of-digits-in-text-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you don't need to actually check that the value is a number, you can simply check the length of the 4th field from the 1st record
awk 'FNR == 1 {print length($4); exit}' file
To assign to a shell variable:
digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)
If you need to count how many digits are in the field, then you could modify the awk command to
awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file
Note that gsub
will return a count of decimal digits [0-9]
ignoring any non-digit characters in the field.
add a comment |
If you don't need to actually check that the value is a number, you can simply check the length of the 4th field from the 1st record
awk 'FNR == 1 {print length($4); exit}' file
To assign to a shell variable:
digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)
If you need to count how many digits are in the field, then you could modify the awk command to
awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file
Note that gsub
will return a count of decimal digits [0-9]
ignoring any non-digit characters in the field.
add a comment |
If you don't need to actually check that the value is a number, you can simply check the length of the 4th field from the 1st record
awk 'FNR == 1 {print length($4); exit}' file
To assign to a shell variable:
digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)
If you need to count how many digits are in the field, then you could modify the awk command to
awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file
Note that gsub
will return a count of decimal digits [0-9]
ignoring any non-digit characters in the field.
If you don't need to actually check that the value is a number, you can simply check the length of the 4th field from the 1st record
awk 'FNR == 1 {print length($4); exit}' file
To assign to a shell variable:
digit_number=$(awk 'FNR == 1 {print length($4); exit}' file)
If you need to count how many digits are in the field, then you could modify the awk command to
awk 'FNR == 1 {print gsub(/[0-9]/,"",$4); exit}' file
Note that gsub
will return a count of decimal digits [0-9]
ignoring any non-digit characters in the field.
answered Jan 22 at 13:49
steeldriversteeldriver
68.1k11113184
68.1k11113184
add a comment |
add a comment |
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d 'n' | wc -c)
Where:
head -1 {the file}
print the first line of the file
cut -d ' ' -f 4
takes the 4th space-delimited field
tr -d 'n'
removes the trailing lf
wc -c
counts the bytes in the result
add a comment |
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d 'n' | wc -c)
Where:
head -1 {the file}
print the first line of the file
cut -d ' ' -f 4
takes the 4th space-delimited field
tr -d 'n'
removes the trailing lf
wc -c
counts the bytes in the result
add a comment |
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d 'n' | wc -c)
Where:
head -1 {the file}
print the first line of the file
cut -d ' ' -f 4
takes the 4th space-delimited field
tr -d 'n'
removes the trailing lf
wc -c
counts the bytes in the result
digit_number=$(head -1 {the file} | cut -d ' ' -f 4 | tr -d 'n' | wc -c)
Where:
head -1 {the file}
print the first line of the file
cut -d ' ' -f 4
takes the 4th space-delimited field
tr -d 'n'
removes the trailing lf
wc -c
counts the bytes in the result
edited Jan 22 at 13:53
pa4080
14.3k52669
14.3k52669
answered Jan 22 at 13:51
xenoidxenoid
1,6531416
1,6531416
add a comment |
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1111965%2fdetermining-the-number-of-digits-in-text-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Would be stack overflow the perfect place for this question?
– TDK
Jan 22 at 13:44
You can probably do this with
sed
andawk
sed 's/[^0-9]//g' dat | awk '{ print length }'
I'm neither an expert insed
norawk
so I expect someone to tell me this is very wrong :-) (also this only counts up all the numbers rather than just the first line and fourth column, again not an awk expert)– j-money
Jan 22 at 13:47