I need help piping some sed output to xargs. This is not working, nothing is being echoed:
fswatch -xr mysitedir | sed -n '/Updated$/p' | xargs -L1 -I {} echo {}
My end goal here is not actually to echo, but to trigger my build tool (soupault) whenever fswatch detects changes in my site directory. The sed command is basically interchangeable with grep in my case. It simply filters this stream of events:
$ fswatch -xr site
/home/jplew/Sites/projects/soupault/site IsDir
/home/jplew/Sites/projects/soupault/site PlatformSpecific
/home/jplew/Sites/projects/soupault/site IsDir
/home/jplew/Sites/projects/soupault/site/blog/index.html Updated
/home/jplew/Sites/projects/soupault/site/blog PlatformSpecific
/home/jplew/Sites/projects/soupault/site/blog IsDir
/home/jplew/Sites/projects/soupault/site/blog/index.html Updated
/home/jplew/Sites/projects/soupault/site/blog PlatformSpecific
/home/jplew/Sites/projects/soupault/site IsDir
/home/jplew/Sites/projects/soupault/site PlatformSpecific
/home/jplew/Sites/projects/soupault/site IsDir
/home/jplew/Sites/projects/soupault/site/blog/index.html Updated
Down to this:
$ fswatch -xr site | sed -n '/Updated$/p'
/home/jplew/Sites/projects/soupault/site/blog/index.html Updated
/home/jplew/Sites/projects/soupault/site/blog/index.html Updated
/home/jplew/Sites/projects/soupault/site/blog/index.html Updated
Why isn't xargs printing anything?
fswatch --event Updated path/to/directory | xargs -n 1 bash_command. Just add-0 --event Updatedto your fswatch command and-0 -rto xargs, and you should be good to go.