Bash Cat ملفات متعددة المحتوى في سلسلة واحدة بدون خطوط جديدة
سؤال
حصلت على بعض الملفات مع الاسم ابدأ كأجلة eg_. وكل واحد فقط يحتوي على سطر واحد
eg_01.txt: @China: 129.00
eg_02.txt @uk: 219.98
eg_03.txt @USA: 341.90
......
أتوقع أن أقوم بتوصيلهم إلى سطر واحد لإرساله بواسطة عنوان URL مثل:@China: 129.00@uk: 219.98@usa: 341.90
أنا استخدم صدى cat eg_*
يعطيني الإخراج يبدو وكأنه سلسلة ، لكنه يحتوي في الواقع على سطر جديد: "china: 129.00
uk: 219.98 @USA: 341.90 "
هل هناك أي طريقة أخرى يمكنني بناء تلك السلسلة المتوقعة والتخلص من الخط الجديد وحتى المساحة؟ هل القط فقط بما يكفي للقيام بذلك؟
شكرا مقدما
المحلول
يمكنك دائما أن تنشرها tr
tr "\n" " "
الذي يزيل جميع الخطوط الجديدة stdin
ويحل محلهم بالمساحات
تعديل: كما اقترح بارت ساس ، يمكنك أيضًا إزالة الخطوط الجديدة مع tr -d
tr -d "\n"
(ملاحظة: فقط تحديد سلسلة فارغة tr
للحجة الثانية لن تفعل)
نصائح أخرى
باستخدام أمر واحد فقط
url=$(awk '{printf "%s",$0}' eg*)
في بيرل ، ستفعل ذلك مثل هذا:
perl -pe'chomp' eg*.txt
ال -p
يقول "حلقة من خلال ملف الإدخال وافعل أي رمز محدد بواسطة -e
تحول. ال chomp
في بيرل يقول "إزالة أي خطوط جديدة."