How to get department wise total from text file












-1















i have text file as below



sales|100
accounts|500
marketing|200
sales|50
sales|70
accounts|300
marketing|40
accounts|150
marketing|200
sales|80


with following script i have generated out put...



sort -t"|" -k1 a.txt|awk -F"|" -v "mth=$month" 'BEGIN { ln=0;slno=0;pg=0;dept=0 }
{
dept=$1;
{
if (dept !=x||ln > 50)
{
tot=0;
pg++;
printf ("f");
#printf ("n");
print "DEPT SUMMARY.FOR",dept,"DEPT. Page No-",pg
print "+=============================================+"
print "|Sr.|Dept |Amount Rs. |"
print "+=============================================+"
ln=0;pg=0;
}
if (dept!=x)
slno=1;
{
printf ("|%3s|%10s|%10.2f|n",slno,$1,$2);
ln++;
slno++;
x=dept;
}
}
} END {
printf ("f"); }' > summary


which gives output like this.



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|


I want output like this but i am not able to do this,Tries lot of modifications .



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
-----------------------------------------------
Total 950.00
-----------------------------------------------
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
-----------------------------------------------
Total 440.00
-----------------------------------------------
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|
-----------------------------------------------
Total 300.00
-----------------------------------------------









share|improve this question









New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • Please someone help

    – Kalpesh
    2 mins ago
















-1















i have text file as below



sales|100
accounts|500
marketing|200
sales|50
sales|70
accounts|300
marketing|40
accounts|150
marketing|200
sales|80


with following script i have generated out put...



sort -t"|" -k1 a.txt|awk -F"|" -v "mth=$month" 'BEGIN { ln=0;slno=0;pg=0;dept=0 }
{
dept=$1;
{
if (dept !=x||ln > 50)
{
tot=0;
pg++;
printf ("f");
#printf ("n");
print "DEPT SUMMARY.FOR",dept,"DEPT. Page No-",pg
print "+=============================================+"
print "|Sr.|Dept |Amount Rs. |"
print "+=============================================+"
ln=0;pg=0;
}
if (dept!=x)
slno=1;
{
printf ("|%3s|%10s|%10.2f|n",slno,$1,$2);
ln++;
slno++;
x=dept;
}
}
} END {
printf ("f"); }' > summary


which gives output like this.



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|


I want output like this but i am not able to do this,Tries lot of modifications .



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
-----------------------------------------------
Total 950.00
-----------------------------------------------
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
-----------------------------------------------
Total 440.00
-----------------------------------------------
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|
-----------------------------------------------
Total 300.00
-----------------------------------------------









share|improve this question









New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





















  • Please someone help

    – Kalpesh
    2 mins ago














-1












-1








-1








i have text file as below



sales|100
accounts|500
marketing|200
sales|50
sales|70
accounts|300
marketing|40
accounts|150
marketing|200
sales|80


with following script i have generated out put...



sort -t"|" -k1 a.txt|awk -F"|" -v "mth=$month" 'BEGIN { ln=0;slno=0;pg=0;dept=0 }
{
dept=$1;
{
if (dept !=x||ln > 50)
{
tot=0;
pg++;
printf ("f");
#printf ("n");
print "DEPT SUMMARY.FOR",dept,"DEPT. Page No-",pg
print "+=============================================+"
print "|Sr.|Dept |Amount Rs. |"
print "+=============================================+"
ln=0;pg=0;
}
if (dept!=x)
slno=1;
{
printf ("|%3s|%10s|%10.2f|n",slno,$1,$2);
ln++;
slno++;
x=dept;
}
}
} END {
printf ("f"); }' > summary


which gives output like this.



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|


I want output like this but i am not able to do this,Tries lot of modifications .



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
-----------------------------------------------
Total 950.00
-----------------------------------------------
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
-----------------------------------------------
Total 440.00
-----------------------------------------------
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|
-----------------------------------------------
Total 300.00
-----------------------------------------------









share|improve this question









New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












i have text file as below



sales|100
accounts|500
marketing|200
sales|50
sales|70
accounts|300
marketing|40
accounts|150
marketing|200
sales|80


with following script i have generated out put...



sort -t"|" -k1 a.txt|awk -F"|" -v "mth=$month" 'BEGIN { ln=0;slno=0;pg=0;dept=0 }
{
dept=$1;
{
if (dept !=x||ln > 50)
{
tot=0;
pg++;
printf ("f");
#printf ("n");
print "DEPT SUMMARY.FOR",dept,"DEPT. Page No-",pg
print "+=============================================+"
print "|Sr.|Dept |Amount Rs. |"
print "+=============================================+"
ln=0;pg=0;
}
if (dept!=x)
slno=1;
{
printf ("|%3s|%10s|%10.2f|n",slno,$1,$2);
ln++;
slno++;
x=dept;
}
}
} END {
printf ("f"); }' > summary


which gives output like this.



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|


I want output like this but i am not able to do this,Tries lot of modifications .



    DEPT SUMMARY.FOR accounts DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| accounts| 150.00|
| 2| accounts| 300.00|
| 3| accounts| 500.00|
-----------------------------------------------
Total 950.00
-----------------------------------------------
DEPT SUMMARY.FOR marketing DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| marketing| 200.00|
| 2| marketing| 200.00|
| 3| marketing| 40.00|
-----------------------------------------------
Total 440.00
-----------------------------------------------
DEPT SUMMARY.FOR sales DEPT. Page No- 1
+=============================================+
|Sr.|Dept |Amount Rs. |
+=============================================+
| 1| sales| 100.00|
| 2| sales| 50.00|
| 3| sales| 70.00|
| 4| sales| 80.00|
-----------------------------------------------
Total 300.00
-----------------------------------------------






awk






share|improve this question









New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 3 mins ago







Kalpesh













New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 1 hour ago









KalpeshKalpesh

11




11




New contributor




Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Kalpesh is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.













  • Please someone help

    – Kalpesh
    2 mins ago



















  • Please someone help

    – Kalpesh
    2 mins ago

















Please someone help

– Kalpesh
2 mins ago





Please someone help

– Kalpesh
2 mins ago










0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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
});


}
});






Kalpesh is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507888%2fhow-to-get-department-wise-total-from-text-file%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes








Kalpesh is a new contributor. Be nice, and check out our Code of Conduct.










draft saved

draft discarded


















Kalpesh is a new contributor. Be nice, and check out our Code of Conduct.













Kalpesh is a new contributor. Be nice, and check out our Code of Conduct.












Kalpesh is a new contributor. Be nice, and check out our Code of Conduct.
















Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • 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.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f507888%2fhow-to-get-department-wise-total-from-text-file%23new-answer', 'question_page');
}
);

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







Popular posts from this blog

濃尾地震

How to rewrite equation of hyperbola in standard form

No ethernet ip address in my vocore2