bash - 为什么使用 args akward 语句进行管道和 sed 打印?
问题描述
下面的语句应该打印afc abc
,但它打印abc abc
了我尝试了很多次,但每次结果都一样 不知道为什么会发生这种情况,谁能解释并帮助我?
echo abc|xargs -i{} echo $(echo {}|sed 's/b/f/g') {}
解决方案
您应该sh -c
在 xargs 中使用 as ,例如:
echo abc|xargs -i{} sh -c "echo {}|sed 's/b/f/g'"
推荐阅读
- nmap - Shodan 显示开放端口,但 nmap 表示它们已关闭。知道为什么吗?
- python - 从 python 2 到 python 3 的 create_string_buffer 和 string.join 错误
- html - Flex grow works on the element itself but not on the container
- laravel - Laravel 5 | Migration Alter-Change Column took so long
- xcode - Downloading iPhone 4s Simulator on Xcode 11
- flutter - SingleChildScrollView doesn't scroll screen with ListView.builder
- reactjs - Redirect loop on authentication after token expiry using react-aad-msal
- c# - Why buttons on main vew do not work when partial views are showing?
- ruby - Can't resolve the load error for telegram bot
- javascript - Hiding URL fAddress bar in JavaScript