ฉันกำลังใช้ zsh เปลือก. ฉันพยายามใช้ sed เพื่อแทนที่ข้อความในไฟล์จำนวนมากโดยใช้การขนานเพื่อเร่งความเร็วของกระบวนการ เมื่อฉันทดสอบนี้ในไฟล์เดียวและปล่อยให้คำสั่งออกไป stdout ฉันเห็นผลลัพธ์ที่คาดหวัง เมื่อฉันพยายามเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ฉันได้ไฟล์ว่างเปล่า เกิดอะไรขึ้น? นี่คือตัวอย่างเล็ก ๆ น้อย ๆ โดยใช้ไฟล์ข้อมูลที่สร้างขึ้นเพียงไฟล์เดียวที่คุณสามารถตัดและวางเพื่อแสดง ... 
setopt interactivecomments
#  In this trivial example it is obviously non-sensical
#  to use parallel, but in reality I have many files...
#  Some very simple input data...
paste <(printf "%s\n" `seq 1 4`) <(printf "%s\n" `seq 1 4`) > ./input.txt
#  This looks like:
#1       1
#2       2
#3       3
#4       4
#  Pass data file to parallel and use sed to substitute.
#  e.g. want to replace line '3 3' with '3 33'
#  Output goes to stdout & seems correct...
z=`find ./input.txt`
echo "$z" | parallel 'sed "s/\(^3.*3\)/\13/"'
#1       1
#2       2
#3       33    ===> correct replacement
#4       4
# But redirecting to a file leads to empty file...
echo "$z" | parallel 'sed "s/\(^3.*3\)/\13/" > {//}/result.txt'
# Empty file
cat ./result.txt
สิ่งที่ช่วยให้? ฉันกำลังระบุบางสิ่งที่ไม่ถูกต้องหรือไม่?
ฉันใช้:
Ubuntu 12.04.4 LTSGNU parallel 20130522GNU sed version 4.2.1zsh 4.3.17