How can I extract only the pid column and only the pathname column in the lsof output?












0















$ sudo lsof -u t  |   grep -i ".pdf" 

evince 1788 t 37r REG 8,4 176328 134478 /home/t/some/path1/white space/string1 + string2 string3.pdf
evince 3737 t 36r REG 8,4 1252636 6692680 /home/t/some/path2/white space/string5 string3.pdf


How can I extract only the second column (pids of processes)?



How can I extract only the ninth column (pathnames of files)? (pathnames can contain any character allowed by Linux and ext4 file systems)



My real command is



$ sudo lsof -u t  | grep -v "wineserv" | grep REG  |   grep ".pdf" | grep  "string"


where I would search for records whose first column "COMMAND" isn't wineserv, and fifth column "TYPE" is REG, and whose ninth column "NAME" contains .pdf and string.



Prefer bash, awk or Python solutions (and maybe Perl, but I don't know Perl, so won't be able to verify if it is correct or modify it later)



Thanks.










share|improve this question

























  • lsof has -F flag according to the manual, so you could do lsof -F p to get just the PID itself. Let me know if you want that as an answer, but of course I can do Python and awk parsing as well

    – Sergiy Kolodyazhnyy
    16 mins ago











  • @SergiyKolodyazhnyy Thanks, and yes. See my update.

    – Tim
    3 mins ago
















0















$ sudo lsof -u t  |   grep -i ".pdf" 

evince 1788 t 37r REG 8,4 176328 134478 /home/t/some/path1/white space/string1 + string2 string3.pdf
evince 3737 t 36r REG 8,4 1252636 6692680 /home/t/some/path2/white space/string5 string3.pdf


How can I extract only the second column (pids of processes)?



How can I extract only the ninth column (pathnames of files)? (pathnames can contain any character allowed by Linux and ext4 file systems)



My real command is



$ sudo lsof -u t  | grep -v "wineserv" | grep REG  |   grep ".pdf" | grep  "string"


where I would search for records whose first column "COMMAND" isn't wineserv, and fifth column "TYPE" is REG, and whose ninth column "NAME" contains .pdf and string.



Prefer bash, awk or Python solutions (and maybe Perl, but I don't know Perl, so won't be able to verify if it is correct or modify it later)



Thanks.










share|improve this question

























  • lsof has -F flag according to the manual, so you could do lsof -F p to get just the PID itself. Let me know if you want that as an answer, but of course I can do Python and awk parsing as well

    – Sergiy Kolodyazhnyy
    16 mins ago











  • @SergiyKolodyazhnyy Thanks, and yes. See my update.

    – Tim
    3 mins ago














0












0








0








$ sudo lsof -u t  |   grep -i ".pdf" 

evince 1788 t 37r REG 8,4 176328 134478 /home/t/some/path1/white space/string1 + string2 string3.pdf
evince 3737 t 36r REG 8,4 1252636 6692680 /home/t/some/path2/white space/string5 string3.pdf


How can I extract only the second column (pids of processes)?



How can I extract only the ninth column (pathnames of files)? (pathnames can contain any character allowed by Linux and ext4 file systems)



My real command is



$ sudo lsof -u t  | grep -v "wineserv" | grep REG  |   grep ".pdf" | grep  "string"


where I would search for records whose first column "COMMAND" isn't wineserv, and fifth column "TYPE" is REG, and whose ninth column "NAME" contains .pdf and string.



Prefer bash, awk or Python solutions (and maybe Perl, but I don't know Perl, so won't be able to verify if it is correct or modify it later)



Thanks.










share|improve this question
















$ sudo lsof -u t  |   grep -i ".pdf" 

evince 1788 t 37r REG 8,4 176328 134478 /home/t/some/path1/white space/string1 + string2 string3.pdf
evince 3737 t 36r REG 8,4 1252636 6692680 /home/t/some/path2/white space/string5 string3.pdf


How can I extract only the second column (pids of processes)?



How can I extract only the ninth column (pathnames of files)? (pathnames can contain any character allowed by Linux and ext4 file systems)



My real command is



$ sudo lsof -u t  | grep -v "wineserv" | grep REG  |   grep ".pdf" | grep  "string"


where I would search for records whose first column "COMMAND" isn't wineserv, and fifth column "TYPE" is REG, and whose ninth column "NAME" contains .pdf and string.



Prefer bash, awk or Python solutions (and maybe Perl, but I don't know Perl, so won't be able to verify if it is correct or modify it later)



Thanks.







text-processing awk python perl lsof






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 4 mins ago







Tim

















asked 39 mins ago









TimTim

27k78262472




27k78262472













  • lsof has -F flag according to the manual, so you could do lsof -F p to get just the PID itself. Let me know if you want that as an answer, but of course I can do Python and awk parsing as well

    – Sergiy Kolodyazhnyy
    16 mins ago











  • @SergiyKolodyazhnyy Thanks, and yes. See my update.

    – Tim
    3 mins ago



















  • lsof has -F flag according to the manual, so you could do lsof -F p to get just the PID itself. Let me know if you want that as an answer, but of course I can do Python and awk parsing as well

    – Sergiy Kolodyazhnyy
    16 mins ago











  • @SergiyKolodyazhnyy Thanks, and yes. See my update.

    – Tim
    3 mins ago

















lsof has -F flag according to the manual, so you could do lsof -F p to get just the PID itself. Let me know if you want that as an answer, but of course I can do Python and awk parsing as well

– Sergiy Kolodyazhnyy
16 mins ago





lsof has -F flag according to the manual, so you could do lsof -F p to get just the PID itself. Let me know if you want that as an answer, but of course I can do Python and awk parsing as well

– Sergiy Kolodyazhnyy
16 mins ago













@SergiyKolodyazhnyy Thanks, and yes. See my update.

– Tim
3 mins ago





@SergiyKolodyazhnyy Thanks, and yes. See my update.

– Tim
3 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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f500977%2fhow-can-i-extract-only-the-pid-column-and-only-the-pathname-column-in-the-lsof-o%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
















draft saved

draft discarded




















































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%2f500977%2fhow-can-i-extract-only-the-pid-column-and-only-the-pathname-column-in-the-lsof-o%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